logo资料库

java实现监视任务的进度条.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
java实现监视任务的进度条 import java.awt.event.*; import javax.swing.*; public class ProgressBar { public static void main(String[] args) { JFrame f = new JFrame (); final ProgressMonitor monitor = new ProgressMonitor(f,"任务完成 状态" , "" , 0 , 100) ; monitor.setProgress(0); JButton b = new JButton("启动进度条"); f.add(b); b.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent e) { ProgressTask task = new ProgressTask (monitor); task.start(); } }); f.setSize(500,200); f.setVisible(true); f.addWindowListener(new WindowAdapter() { public void windowClosing (WindowEvent e) { System.exit(0); } }); } static class ProgressTask implements Runnable { private boolean running ; private Thread t ; private ProgressMonitor monitor ; private int value ;
public ProgressTask(ProgressMonitor monitor) { this.monitor = monitor ; running = false ; } public void run() { while (running) { try{ Thread.sleep(200); if (monitor.isCanceled()) { running = false ; } monitor.setProgress(++value); monitor.setNote(value + "%"); if(value >= 100) { running = false ; } }catch(InterruptedException e) { e.printStackTrace(); } } } public void start () { if (!running) { value = 0 ; monitor.setProgress(value) ;
running = true ; t = new Thread (this) ; t.start(); } } } }
分享到:
收藏