В этой программе, мы должны нажать на кнопку с надписью «Пуск», а затем анимация начнется через экран. После того, как мы нажмем «Начать», кнопка затем изменится на кнопку «Пауза», где, если вы нажмете ее, она остановит анимацию и появится кнопка «Возобновить». Я не уверен, как получить все три этих действия в одну кнопку. Вот код, который у меня есть до сих пор:Множественные действия в 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();
}
});
Я знаю, что это неправильно. Когда я запускаю программу, анимация простаивает до тех пор, пока я не нажму «Start», что правильно, но каждый раз, когда я снова нажимаю кнопку, анимация ускоряется, что неверно. Как я могу добавить различные действия к кнопке?
Например, после того, как анимация запущена, я хочу, чтобы кнопка «Пауза» остановила Таймер при нажатии, а затем возобновит таймер, когда я нажму «Возобновить». Теперь код, который я создал, создает новый объект Timer каждый раз, когда я нажимаю на него, но это, похоже, единственный способ заставить его работать. Если я выложу что-либо за пределы ActionListener, я получаю ошибку области. Какие-либо предложения?
Большое вам спасибо! Это фиксировало это. Я знал, что у меня было так, что каждый раз создавал новый таймер, чего я не хотел. Я никогда не думал поставить таймер в свои частные переменные экземпляра. – GenericUser01