我的项目在 java swing 上运行,有 2 个按钮(开始/停止)用于计数。
当我单击开始按钮时。有一个线程正在运行(Thread-0),然后单击停止按钮“Thread-0”消失但是当我多次单击开始按钮时。有许多线程,例如 Thread-5、Thread-6、.. Thread-10 正在运行。
问题: 如果单击开始然后停止计数是可以的。但点击开始多次它是不正确的计数。
开始按钮
private void btnStartActionPerformed(java.awt.event.ActionEvent evt) {
start();
btnStart.setEnabled(false);
btnStop.setEnabled(true);
}
停止按钮
private void btnStopActionPerformed(java.awt.event.ActionEvent evt) {
isEnable = false;
btnStop.setEnabled(false);
btnStart.setEnabled(true);
}
开始()方法:
isEnable = true;
Thread refreshPlan = new Thread() {
@Override
public void run() {
while(isEnable) {
try {
sleep(CYCLE_TIME * 1000);
PLAN += 1;
planValue.setText(String.valueOf(PLAN));
} catch (InterruptedException ex) {
//ignore
}
}
};
};
refreshPlan.start();
在开始按钮中单击多次时我可以只运行单个线程吗?有什么建议吗?谢谢。
对不起,我的英语不好。