我有一个java swing gui程序,当我点击一个切换按钮时,一个计时器开始,但我想能够点击相同的按钮,计时器停止,现在它不会让我再次点击它。 这是我的定时器类为什么我的按钮不可点击? (爪哇)
public void runningClock(){
isPaused = false;
while(!isPaused){
incrementTime();
System.out.println("Timer Current Time " + getTime());
time.setText(""+ getTime());
try{Thread.sleep(1000);} catch(Exception e){}
}
}
public void pausedClock(){
isPaused=true;
System.out.println("Timer Current Time " + getTime());
time.setText(""+ getTime());
try{Thread.sleep(1000);} catch(Exception e){}
}
,这是我的主类
private void btnRunActionPerformed(java.awt.event.ActionEvent evt) {
if(btnRun.getText().equals("Run")){
System.out.println("Run Button Clicked");
btnRun.setText("Pause");
test.runningClock();
}
else if(btnRun.getText().equals("Pause")){
System.out.println("Pause Button Clicked");
btnRun.setText("Run");
test.pausedClock();
}
}
就拿问题的原因一看[并发在Swing(http://docs.oracle.com/javase/tutorial/uiswing/concurrency/)和[如何使用Swing定时器( http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html)为了解决这个问题(如前所述) – MadProgrammer 2014-09-01 23:36:20