Java 在特定时间后使按钮可用?
所以我有一个方法来创建一个按钮。我希望该按钮每120(2分钟)秒激活一次。单击按钮后,计时器将重置Java 在特定时间后使按钮可用?,java,Java,所以我有一个方法来创建一个按钮。我希望该按钮每120(2分钟)秒激活一次。单击按钮后,计时器将重置 addButton( new RedButton(TXT_SATURNUP) { @Override public void onClick() { Game.instance.showAd(); Game.instance.wasAnswerCorrect();
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
}
你可以用一个。您必须使用启用按钮的ActionListener
来设置它,并且您的按钮单击必须重置计时器
鉴于互连,我将使用以下模板创建一个新的button类:
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()
我想使用一些jQuery或JavaScript。我的RedButton类中是否有新的计时器类?我会在设置按钮的类中实现它吗?如果RedButton是您编写并扩展现有按钮的类,那么是的,您可以将计时器和方法放在该类中。另一方面,您的匿名类重写onClick()
,从而隐藏新的onClick()
方法,因此,如果继续使用该覆盖,则必须调用super.onClick()
。我希望这是清楚的。