簡體   English   中英

需要幫助來停止我的 Java Swing GUI 計時器嗎?

[英]Need help to stop my Java Swing GUI timer?

我想通過單擊按鈕來啟動和停止我的計時器。 但是停止按鈕不起作用。 我應該如何解決這個問題?

我正在開發一個包含計時器和其他功能的項目。 我想做的就是使用按鈕啟動和停止我的計時器。

導入 javax.swing.Timer;

JButton startbut=new JButton("Start");
JButton endbut=new JButton("Mark As Done");
private void addActionEvent() {
    // TODO Auto-generated method stub
    startbut.addActionListener(this);
}
int s=0,h=0;
@Override
public void actionPerformed(ActionEvent e) {
    
    if(e.getSource()==startbut) {
        t=new Timer(100, new ActionListener() {
            
            @Override
            public void actionPerformed(ActionEvent e) {
                time.setText(String.valueOf(h+"m:"+s+"s"));
                s++;
                
                if(s==60) {
                
                    h++;
                    s=0;
                    
                }
                
            }
            
        });
        
        
        t.start();
        
        
        
    }
    if(e.getSource()==endbut) {
        t.stop();
    }
    
    
}

提前致謝。

問題是 endbut 沒有動作監聽器,所以當按鈕被點擊時什么也沒有發生 t.stop(); 從來沒有接到電話。 我們需要注冊 endbut 到同一個動作監聽器,這樣當它被點擊時 actionPerformed 被調用(t.stop)

endbut.addActionListener(this);

// TODO Auto-generated method stub
    startbut.addActionListener(this);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM