【发布时间】:2014-01-12 22:19:42
【问题描述】:
有没有办法轻松地将 thread.sleep 转换为 javax.swing.timer?
我之所以需要这样做,是为了在您按下按钮时阻止用户界面冻结,以便您可以实现暂停按钮。
代码示例:
btnStartTiming.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent arg0) {
try{
inputA = Double.parseDouble(txtEnterHowLong.getText()); //Changes double to string and receives input from user
}catch(NumberFormatException ex){
}
while (counter <= inputA){
txtCounter.setText(counter + "");
try {
Thread.sleep(1000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.println(counter);
counter++;
}
}
});
【问题讨论】:
-
我不确定如何在这段代码中实现 javax.swing.timer。
-
教程正在等待。
-
替换整个
while循环。while循环的每次迭代都将映射到java.swing.Timer的注册ActionListener的actionPerformed方法中
标签: java multithreading swing user-interface timer