package GUI;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class ProgressBarEg extends JPanel {
static ProgressThread pth;
static JProgressBar pb;
static JFrame jf;
public ProgressBarEg() {
setLayout(new BorderLayout());
pb = new JProgressBar();
JPanel btnpanel = new JPanel();
JButton startbtn = new JButton("Start");
btnpanel.add(startbtn);
btnpanel.add(pb,"Center");
startbtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae){
startProgressBar();
}
});
JButton stopbtn = new JButton("Stop");
btnpanel.add(stopbtn);
stopbtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae){
stopProgressBar();
}
});
add(btnpanel);
}//end constructor
public void startProgressBar() {
if(pth == null || pth.isAlive()) {
pth = new ProgressThread(pb);
pth.start();
}
}//end method
public void stopProgressBar() {
pth.setStop(true);
}//end method
public static void main(String a[]){
jf = new JFrame("Copying Files...");
ProgressBarEg objpbar = new ProgressBarEg();
jf.getContentPane().add("Center", objpbar);
jf.setSize(200,100);
jf.addWindowListener(new WindowAdapter() {
public void WindowClosing(WindowEvent we){
System.exit(0);
}
});
jf.setVisible(true);
}//end main
}//end ProgressBarEg
class ProgressThread extends Thread {
JProgressBar pb;
boolean stopStatus = false;
boolean aliveStatus = false;
public ProgressThread(JProgressBar pb){
this.pb = pb;
}//end constructor
public void setStop(boolean value){
stopStatus = value;
}//end method
public void run(){
int mini = 0;
int max = 30;
pb.setMinimum(mini);
pb.setMaximum(max);
for (int x = mini; x<=max; x++){
if(stopStatus){
break;
}
else {
pb.setValue(x);
try {
Thread.sleep(100);
}
catch(InterruptedException ie){
}
}//end else
}//end for
aliveStatus=false;
}//end run method
}//end class ProgressThread
No comments:
Post a Comment