home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / DIGSIM.EXE / DialogPanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-05-21  |  2.5 KB  |  112 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Font;
  7. import java.awt.FontMetrics;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.Panel;
  11. import java.awt.image.ImageObserver;
  12.  
  13. class DialogPanel extends Panel implements ImageObserver {
  14.    DigSimFrame frame;
  15.    static final int HORIZONTAL_GAP = 50;
  16.    protected Font SimpleDialogFont;
  17.    protected FontMetrics SimpleDialogFontMetrics;
  18.    String Capt;
  19.    int CaptWidth;
  20.    Image ImageToDisplay;
  21.    int imgw;
  22.    int imgh;
  23.    static final long updateRate = 100L;
  24.  
  25.    public DialogPanel(DigSimFrame var1, String var2, int var3) {
  26.       this.frame = var1;
  27.       this.Capt = var2;
  28.       this.getImage(var3);
  29.       ((Container)this).setLayout(new BorderLayout());
  30.       this.SimpleDialogFont = new Font("TimesRoman", 0, 14);
  31.       this.SimpleDialogFontMetrics = ((Component)this).getFontMetrics(this.SimpleDialogFont);
  32.       ((Component)this).setFont(this.SimpleDialogFont);
  33.       super.setLayout(new BorderLayout());
  34.       this.CaptWidth = this.SimpleDialogFontMetrics.stringWidth(var2);
  35.       ((Component)this).repaint();
  36.    }
  37.  
  38.    public Dimension preferredSize() {
  39.       return new Dimension(50 + this.CaptWidth, 125);
  40.    }
  41.  
  42.    public void paint(Graphics var1) {
  43.       if (this.ImageToDisplay != null) {
  44.          var1.drawImage(this.ImageToDisplay, 20, 10, this);
  45.          var1.setColor(Color.black);
  46.          int var3 = (((Component)this).size().width - this.CaptWidth) / 2 + this.imgw + 20;
  47.          if (var3 < this.imgw + 50) {
  48.             var3 = this.imgw + 50;
  49.          }
  50.  
  51.          var1.drawString(this.Capt, var3, 30);
  52.       } else {
  53.          var1.setColor(Color.black);
  54.          int var2 = (((Component)this).size().width - this.CaptWidth) / 2;
  55.          var1.drawString(this.Capt, var2, 30);
  56.       }
  57.    }
  58.  
  59.    public void getImage(int var1) {
  60.       Object var2 = null;
  61.       String var3;
  62.       switch (var1) {
  63.          case 0:
  64.          default:
  65.             return;
  66.          case 1:
  67.             var3 = "images/stop.gif";
  68.             break;
  69.          case 2:
  70.             var3 = "images/warning.gif";
  71.       }
  72.  
  73.       if (this.frame != null) {
  74.          this.ImageToDisplay = this.frame.applet.getImage(this.frame.applet.getDocumentBase(), var3);
  75.       }
  76.  
  77.    }
  78.  
  79.    public synchronized boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  80.       boolean var7 = true;
  81.       boolean var8 = false;
  82.       long var9 = 0L;
  83.       if ((var2 & 1) != 0) {
  84.          this.imgw = var5;
  85.          var8 = true;
  86.       }
  87.  
  88.       if ((var2 & 2) != 0) {
  89.          this.imgh = var6;
  90.          var8 = true;
  91.       }
  92.  
  93.       if ((var2 & 48) != 0) {
  94.          var8 = true;
  95.          var7 = false;
  96.       } else if ((var2 & 8) != 0) {
  97.          var8 = true;
  98.          var9 = 100L;
  99.       }
  100.  
  101.       if ((var2 & 64) != 0) {
  102.          var7 = false;
  103.       }
  104.  
  105.       if (var8) {
  106.          ((Component)this).repaint(var9);
  107.       }
  108.  
  109.       return var7;
  110.    }
  111. }
  112.