home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPMain.jar / JDPStatusMessageThread.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-09-09  |  2.1 KB  |  95 lines

  1. import java.awt.Component;
  2. import java.awt.Container;
  3.  
  4. class JDPStatusMessageThread extends Thread {
  5.    JDPStatusMessage target;
  6.    int clearAfter = 10;
  7.    int waitFor = -1;
  8.    Component comp;
  9.    int waitAgain;
  10.  
  11.    public JDPStatusMessageThread(JDPStatusMessage var1, int var2) {
  12.       this.target = var1;
  13.       this.clearAfter = var2;
  14.       this.waitFor = -1;
  15.       this.comp = null;
  16.    }
  17.  
  18.    public JDPStatusMessageThread(JDPStatusMessage var1, int var2, int var3, Component var4) {
  19.       this.target = var1;
  20.       this.waitFor = var2;
  21.       this.clearAfter = var3;
  22.       this.comp = var4;
  23.    }
  24.  
  25.    public void run() {
  26.       if (this.waitFor >= 0) {
  27.          if (this.target.statusMessage.equals("") && (this.comp == null || this.comp != null && this.comp.isEnabled())) {
  28.             this.target.message.setFont(this.target.infoFont);
  29.             this.target.message.setText(this.target.infoMessage);
  30.             this.target.layout();
  31.             this.target.paintAll(this.target.getGraphics());
  32.          }
  33.  
  34.          while(this.waitFor > 0) {
  35.             try {
  36.                if (this.waitFor > 199) {
  37.                   Thread.sleep((long)this.waitFor);
  38.                } else {
  39.                   Thread.sleep((long)(this.waitFor * 1000));
  40.                }
  41.             } catch (InterruptedException var3) {
  42.             }
  43.  
  44.             this.waitFor = this.waitAgain;
  45.             this.waitAgain = 0;
  46.          }
  47.  
  48.          if (this.comp != null && this.comp.isEnabled()) {
  49.             if (this.target.statusMessage.equals("")) {
  50.                this.target.message.setFont(this.target.infoFont);
  51.                this.target.message.setText(this.target.infoMessage);
  52.                this.target.layout();
  53.                this.target.paintAll(this.target.getGraphics());
  54.             }
  55.  
  56.             if (this.comp instanceof JDPPopupMessage) {
  57.                if (((JDPPopupMessage)this.comp).popupMessage.length() > 0) {
  58.                   this.comp.show();
  59.                } else {
  60.                   this.comp.hide();
  61.                }
  62.             } else {
  63.                this.comp.show();
  64.             }
  65.  
  66.             Container var1 = this.comp.getParent();
  67.             if (System.getProperty("java.vendor").startsWith("Netscape") && System.getProperty("os.name").equals("SunOS")) {
  68.                var1.remove(this.comp);
  69.                var1.add(this.comp);
  70.                this.comp.show();
  71.             }
  72.          }
  73.       }
  74.  
  75.       try {
  76.          if (this.clearAfter > 999) {
  77.             Thread.sleep((long)this.clearAfter);
  78.          } else {
  79.             Thread.sleep((long)(this.clearAfter * 1000));
  80.          }
  81.       } catch (InterruptedException var2) {
  82.       }
  83.  
  84.       if (this.comp != null) {
  85.          this.comp.hide();
  86.       }
  87.  
  88.       this.target.clearStatusMsg();
  89.    }
  90.  
  91.    void interruptThread() {
  92.       ((Thread)this).interrupt();
  93.    }
  94. }
  95.