使用Timer为界面执行异步任务
swingUI中,为了线程安全,使用timer类实现延迟。
btnOpen.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { Timer timer=new Timer(1000,new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { value+=20; progressBar.setValue(value); if(value==100) { value=0; } } }); timer.setRepeats(true); timer.start(); } });
以上程序实现了进度条循环每隔一秒增加20%。
不能使用thread.sleep(1000)来实现一秒的延迟。