我有一個名爲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,然後我可以控制我希望定時器由整型值做。但它沒有工作,定時器不會停止...
那麼我做錯了什麼?
我知道有過這樣的其他問題,但是,我仍然相當新的Java和我不明白給出的答案。
謝謝
您是否嘗試過用增加'的System.out.println()'內如果塊,看它是當你做某些事情達成什麼樣的代碼一些調試輸出? –
我做過了,但是當我發佈這個時,我就把它們拿出來了。他們沒有幫助我,我只看到我的if語句正在工作。但是,謝謝你的建議! –