我有一个名为reminderList
.
当鼠标单击列表中的某个项目并且鼠标退出列表时,我想要一个计时器启动。
当鼠标进入列表时,如果它仍在运行,我希望该计时器停止。
当鼠标再次退出列表时,我希望重新启动相同的计时器。
public void waitReminderList(int status) {
Timer timer = new Timer(10000, new ActionListener() {
public void actionPerformed(ActionEvent evt) {
reminderList.clearSelection();
dismissReminder.setEnabled(false);
}
});
if (status == 0) {
if (!reminderList.isSelectionEmpty()) {
timer.setRepeats(false);
timer.restart();
timer.start();
}
} else if (status == 1) {
if (!reminderList.isSelectionEmpty()) {
timer.stop();
}
}
private void reminderListMouseExited(java.awt.event.MouseEvent evt) {
waitReminderList(0);
}
private void reminderListMouseEntered(java.awt.event.MouseEvent evt) {
waitReminderList(1);
}
问题是:计时器在启动后不会停止或重新启动或做任何事情,但我需要它。
我对这个问题的解决方案是有一个 int,然后我可以通过 int 的值来控制我希望计时器做什么。但它没有用,计时器没有停止......
那我做错了什么?
我知道还有其他类似的问题,但是我对 java 还是很陌生,我不明白给出的答案。
谢谢