【发布时间】:2015-10-07 01:45:38
【问题描述】:
在这个程序中,我们应该单击一个“开始”按钮,然后动画将开始在屏幕上运行。在我们单击“开始”后,该按钮将变为“暂停”按钮,如果单击它,它将停止动画并出现“恢复”按钮。我不确定如何将所有这三个操作都集中到一个按钮中。这是我到目前为止的代码:
JButton button = new JButton("Start");
button.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Timer t = new Timer(100, new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
shape.translate(x, y);
label.repaint();
}
});
t.start();
}
});
我知道这是不对的。当我运行程序时,动画处于空闲状态,直到我点击“开始”,这是正确的,但是每次我再次点击按钮时,动画都会加速,这是不正确的。如何为按钮添加不同的操作?
例如在动画运行后,我希望“暂停”按钮在单击时停止计时器,然后在点击“恢复”时恢复计时器。我现在的代码每次单击它时都会创建一个新的 Timer 对象,但这似乎是我让它工作的唯一方法。如果我将任何内容放在 ActionListener 之外,则会出现范围错误。有什么建议吗?
【问题讨论】:
标签: java user-interface graphics timer jbutton