home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.util;
-
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Frame;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.Insets;
- import java.awt.Window;
- import javax.swing.Icon;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JProgressBar;
- import javax.swing.Timer;
-
- public class ProgressDialog extends JFrame {
- static final Color BG_COLOR = new Color(16777170);
- static final int ONE_SECOND = 1000;
- static final int APPEARANCE_DELAY = 750;
- static final int SLEEP_TIME = 250;
- JLabel iconLbl;
- int max;
- JLabel operation;
- JLabel nowDoing;
- JButton stopBtn;
- JProgressBar progress;
- ProgressTask progressTask;
- Timer timer;
-
- public ProgressDialog(ProgressTask var1, Icon var2, String var3, int var4, String var5) {
- ((Component)this).setVisible(false);
- this.max = var4;
- JPanel var6 = new JPanel();
- ((JFrame)this).getContentPane().setLayout(new BorderLayout());
- ((JFrame)this).getContentPane().add(var6, "Center");
- ((Frame)this).setTitle(var3);
- this.progressTask = var1;
- ((Container)var6).setLayout(new GridBagLayout());
- GridBagConstraints var7 = new GridBagConstraints();
- var7.gridx = 0;
- var7.gridy = 0;
- var7.insets = new Insets(16, 16, 16, 16);
- this.iconLbl = new JLabel(var2);
- ((Container)var6).add(this.iconLbl, var7);
- this.operation = new JLabel(var3);
- this.operation.setFont(((Component)this).getFont());
- var7.insets = new Insets(8, 8, 4, 8);
- var7.gridx = 1;
- ((Container)var6).add(this.operation, var7);
- var7.fill = 2;
- var7.weightx = (double)1.0F;
- this.progress = new JProgressBar();
- this.progress.setMaximum(var4);
- var7.gridx = 0;
- var7.gridy = 1;
- var7.gridwidth = 2;
- var7.ipady = 8;
- ((Container)var6).add(this.progress, var7);
- this.nowDoing = new JLabel();
- var7.gridy = 2;
- var7.insets = new Insets(0, 8, 8, 8);
- var7.ipadx = 50;
- ((Container)var6).add(this.nowDoing, var7);
- ((Window)this).pack();
- this.timer = new Timer(1000, new TimerListener(this));
- this.timer.setInitialDelay(750);
- this.timer.start();
- ((Window)this).addWindowListener(new 1(this));
- }
-
- public ProgressDialog(ProgressTask var1, Icon var2, String var3, int var4) {
- this(var1, var2, var3, var4, "Stop");
- }
-
- public ProgressDialog(ProgressTask var1, Icon var2, String var3, String var4) {
- this(var1, var2, var3, 100, var4);
- }
-
- public ProgressDialog(ProgressTask var1, String var2) {
- this(var1, (Icon)null, var2, 100, "Stop");
- }
-
- void updateProgress() {
- int var1 = this.progressTask.getPctComplete();
- this.progress.setValue(var1);
- if (this.progressTask.done()) {
- ((Component)this).setVisible(false);
- this.timer.stop();
- } else {
- if (!((Component)this).isVisible()) {
- ((Component)this).setVisible(true);
- }
-
- this.nowDoing.setText(this.progressTask.getCurrentActivity());
- }
-
- }
- }
-