在這個程序中,我們應該點擊一個表示「開始」的按鈕,然後動畫將在屏幕上開始運行。點擊「開始」後,該按鈕將變爲「暫停」按鈕,如果您點擊該按鈕,則會停止動畫,並出現「恢復」按鈕。我不知道如何將所有這三個操作都放到一個按鈕中。這裏是我到目前爲止的代碼:JButton中的多個操作
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之外放置任何東西,我會遇到範圍錯誤。有什麼建議麼?
非常感謝!這固定了它。我知道我每次創建一個新的Timer都不是我想要的。我從來沒有想過把計時器放在我的私人實例變量中。 – GenericUser01