一段时间后按钮可用吗?

时间:2015-11-07 05:29:08

标签: java

所以我有一个创建按钮的方法。我希望每120(2分钟)秒激活该按钮。单击按钮后,计时器将重置。

addButton( new RedButton(TXT_SATURNUP) {
            @Override
            public void onClick() {
                Game.instance.showAd();
                Game.instance.wasAnswerCorrect();
            }
        });

如果可能的话,我也希望能够收到日志消息。说...

if ( timerFinished ) {
    // log message to screen informing user
} else {
    // Button cannot be clicked at this time
}

1 个答案:

答案 0 :(得分:0)

您可以使用Timer。您必须使用启用按钮的ActionListener进行设置,然后按下按钮将需要重置计时器。

鉴于互连,我将使用下面的模板创建一个新的按钮类:

class TimedButton extends JButton implements ActionListener {
   private Timer T;

   // Override constructors to set up timer
   // and disable button (if/as desired)

   public void onClick(){
      super.onClick();
      setEnabled(false);
         T.restart();
   }

   public void actionPerformed(ActionEvent e){
      setEnabled(true);
   }
}

然后你需要一种方法来从外部启动定时器,或者在内部启动定时器的方法。您可能希望避免在构造函数中执行此操作,因为在使按钮可见之前计时器可能会用完。这一切只取决于按钮何时首次可用。

对于日志记录,您可以在上述方法中添加或使用isEnabled()