You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
172 lines
3.9 KiB
172 lines
3.9 KiB
/**
|
|
* @file ProgressBar.java
|
|
*
|
|
* @brief Create progress bar
|
|
*
|
|
* @author Yanghui
|
|
*
|
|
* @history
|
|
* ================================================================
|
|
* Date Name Description of Change
|
|
* 25-July-2008 Yanghui this class is used to create
|
|
* progress bar.
|
|
*/
|
|
package com.langtech.plm.performancemanagement.util;
|
|
import java.awt.Container;
|
|
import java.awt.Dimension;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
import java.awt.event.WindowAdapter;
|
|
import java.awt.event.WindowEvent;
|
|
import javax.swing.JLabel;
|
|
import javax.swing.JPanel;
|
|
import javax.swing.JProgressBar;
|
|
import javax.swing.Timer;
|
|
import com.teamcenter.rac.aif.AbstractAIFDialog;
|
|
import com.teamcenter.rac.util.PropertyLayout;
|
|
import com.teamcenter.rac.util.Registry;
|
|
|
|
/**
|
|
* @class ProgressBar
|
|
* @brief Create progress bar
|
|
* @author Yanghui
|
|
*/
|
|
public class ProgressBar extends AbstractAIFDialog implements ActionListener {
|
|
/**
|
|
* @var ProgressBar.progressbar
|
|
* @brief JProgressBar
|
|
*/
|
|
private JProgressBar progressbar;
|
|
|
|
/**
|
|
* @var ProgressBar.label
|
|
* @brief label used to tips
|
|
*/
|
|
private JLabel label;
|
|
|
|
/**
|
|
* @var ProgressBar.timer
|
|
* @brief timer used to timing operation
|
|
*/
|
|
private Timer timer;
|
|
|
|
/**
|
|
* @var ProgressBar.bool
|
|
* @brief bool used to flag thread return
|
|
*/
|
|
private boolean bool = false;
|
|
|
|
/**
|
|
* @var Progressbar.registry
|
|
* @brief Registry
|
|
*/
|
|
private Registry registry;
|
|
|
|
/**
|
|
* @fn public ProgressBar()
|
|
* @brief constructor
|
|
* @param[in] null
|
|
*/
|
|
private String showLable = null ;
|
|
public ProgressBar(String showlable) {
|
|
super(true);
|
|
showLable = showlable;
|
|
this.setAlwaysOnTop(true);
|
|
}
|
|
|
|
/**
|
|
* @fn public void setBool(boolean bool)
|
|
* @brief set bool value
|
|
* @param[in] bool
|
|
* @param[out] null
|
|
*/
|
|
public void setBool(boolean bool) {
|
|
this.bool = bool;
|
|
}
|
|
|
|
/**
|
|
* @fn private void initUI()
|
|
* @brief createDialog method
|
|
* @param[in] null
|
|
* @param[out] null
|
|
*/
|
|
public void initUI() {
|
|
Container container = getContentPane();
|
|
JPanel mainPanel = new JPanel(new PropertyLayout());
|
|
this.label = new JLabel(showLable, JLabel.CENTER);
|
|
this.progressbar = new JProgressBar();
|
|
this.progressbar.setOrientation(JProgressBar.HORIZONTAL);
|
|
this.progressbar.setMinimum(0);
|
|
this.progressbar.setMaximum(100);
|
|
this.progressbar.setValue(0);
|
|
this.progressbar.setPreferredSize(new Dimension(200, 15));
|
|
this.progressbar.setBorderPainted(true);
|
|
this.timer = new Timer(50, (ActionListener) this);
|
|
this.timer.setRepeats(false);
|
|
mainPanel.add("1.1.center", new JLabel(" "));
|
|
mainPanel.add("2.1.center", label);
|
|
mainPanel.add("3.1.center", progressbar);
|
|
mainPanel.add("4.1.center", new JLabel(" "));
|
|
container.add(mainPanel);
|
|
pack();
|
|
setLocation(500, 200);
|
|
TaskThread thread = new TaskThread(this);
|
|
thread.start();
|
|
addWindowListener(new WindowAdapter() {
|
|
public void windowClosing(WindowEvent e) {
|
|
bool = true;
|
|
}
|
|
});
|
|
this.setVisible(true);
|
|
}
|
|
|
|
/**
|
|
* @class TaskThread
|
|
* @brief Create progressbar
|
|
*
|
|
*/
|
|
class TaskThread extends Thread {
|
|
private ProgressBar bar;
|
|
|
|
public TaskThread(ProgressBar bar) {
|
|
this.bar = bar;
|
|
}
|
|
|
|
public void run() {
|
|
if (bool == false) {
|
|
// Set Status is running.
|
|
// session.setStatus(registry.getString("export Running"));
|
|
}
|
|
for (int i = 0; i < i + 1; i++) {
|
|
timer.start();
|
|
int value = progressbar.getValue();
|
|
if (value < 100) {
|
|
value = value + 5;
|
|
progressbar.setValue(value);
|
|
} else {
|
|
timer.stop();
|
|
progressbar.setValue(0);
|
|
}
|
|
try {
|
|
sleep(100);
|
|
} catch (InterruptedException e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
if (bool == true) {
|
|
bar.setVisible(false);
|
|
bar.dispose();
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public void actionPerformed(ActionEvent arg0) {
|
|
// TODO Auto-generated method stub
|
|
|
|
}
|
|
}
|