2

基本上,这段代码是从 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();
}
4

2 回答 2

1

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

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

于 2014-03-12T10:00:14.903 回答
0

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

于 2014-03-12T10:00:00.170 回答