我有問題,我不明白,如何正確使用JButton Java定時器。Java定時器使用JButtons
的什麼,我需要的想法 -
當我點擊JButton的文本「0」,然後開始計時從2秒計數,直到爲零。
當按鈕被釋放時,程序檢查情況:
如果計時器現在爲0,那麼它在JTextField中顯示符號「+」,否則顯示「0」。
這是我的程序代碼。有人可以將我需要的東西添加到我想要的想法中嗎?
public class DialPanel extends JPanel {
private MainFrame frame;
public DialPanel(MainFrame frame) {
this.frame = frame;
this.setLocation(0, 90);
this.setSize(300, 290);
this.setLayout(null);
this.setBackground(color);
this.initContent();
}
// -------------------------------------------------------------------------
private JButton btnNumZero;
private JTextField txfNumber;
private void initContent() {
txfNumber = new JTextField();
this.add(txfNumber);
txfNumber.setSize(190, 30);
txfNumber.setLocation(30, 0);
txfNumber.setFocusable(false);
txfNumber.addActionListener(controller);
btnNumZero = new JButton();
this.add(btnNumZero);
btnNumZero.setText("0");
btnNumZero.setFocusable(false);
btnNumZero.setSize(30, 30);
btnNumZero.setLocation(10, 10);
btnNumZero.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//Start someTimer countdown from two seconds
}
});
btnNumZero.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
//Stop someTimer
//if someTimer == 0 seconds then do this line:
txfNumber.setText("+");
//else do this line:
txfNumber.setText("0");
}
});
}
}
對不起,如果有一些不必要的錯誤代碼。我從真實的代碼中刪除並改變了很多東西,這樣可以更容易理解和清晰地閱讀。
實際上,我們需要看到你所使用的定時器的方式,我的意思是它的一個聖人或惡魔之一。 (聖靈和魔鬼在Swing的角度定義)) – Sage
我試圖在互聯網上看看如何添加計時器JButton,但我不明白。什麼都沒有這就是爲什麼我問在這裏是否有人可以添加任何類型的計時器,使得程序能夠像我需要的那樣工作。 –
使用Swing。看看[Swing Timer教程](http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html)。 – Sage