【问题标题】:Stopping Timer from another class从另一个类停止计时器
【发布时间】:2014-04-16 08:41:03
【问题描述】:

基本上,这段代码是从一个 JButton(在另一个类中)调用的,通过一遍又一遍地重新绘制来移动立方体。我希望创建另一个 JButton 以从另一种方法停止计时器 (timer.stop())。我该怎么做呢

private ActionListener actionListener ;
public void moveCube()
{
    actionListener  = new ActionListener() {
    public void actionPerformed(ActionEvent actionEvent) {
            cube.moveBox(7,5);
    repaint();
        }
    };
    Timer timer = new Timer( 100, actionListener );
    timer.start();
}

【问题讨论】:

    标签: java timer jbutton actionlistener actionevent


    【解决方案1】:

    您必须使Timer 对象在moveCube() 方法之外可用。

    换句话说:在您的代码中,在顶部定义Timer myTimer;,并在moveCube() 方法中分配它:myTimer = new Timer( 100, actionListener );。然后,您可以从其他按钮调用计时器。

    【讨论】:

    • 会的!总是有延迟!
    【解决方案2】:

    为一个对象类创建一个单例,该对象类具有该定时器的 Timer 使 get/set 函数。之后得到你的 instanceClass.getTimer().stop();当然,你必须在你的第一堂课中设置它......

    【讨论】:

      猜你喜欢
      • 2020-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多