2012-08-10 56 views
0

我正在做一個簡單遊戲的swing項目。當用戶點擊「如何玩」選項卡時,我會使用規則出現一個jframe,並停止遊戲的計時器(我將Jframe編入不同的類)。當用戶關閉「如何玩Jframe」(當布爾值爲真時,定時器啓動)時,我如何讓定時器再次啓動如何使類間變量運行

+0

的可能重複(http://stackoverflow.com/questions/3537484/swing-timer-how - 暫停和恢復 - 它) – 2012-08-10 10:16:53

+0

我已經暫停它,但是當他們關閉jframe我希望它再次開始 – mike157 2012-08-10 10:30:57

回答

0

如果在主框架中創建「如何玩」-JFrame,那麼你可以簡單地在那裏保留一個私有字段,其中包含經過的時間(我假設一個int,包含秒數)。
然後,您可以在首次啓動時調用startClock(0)方法,並在「如何播放」按鈕的ActionListener中向pauseClock()(此應將當前時間保存爲currentTime字段)方法添加呼叫。
然後,在「How to play」-JFrame中添加一個WindowListener(使用一個Adapter,這樣你就不需要實現所有的方法)。這應該在代碼來完成,在主機:[?鞦韆定時器,如何暫停和恢復它]

howToFrame.addWindowListener(new WindowAdapter(){ 
    public void onWindowClosed(WindowEvent e){ 
     startClock(currentTime); 
    } 
});