@elissa
Создание таймера для GUI в Java включает в себя использование классов javax.swing.Timer
и java.awt.event.ActionListener
.
Вот пример кода, демонстрирующий, как создать таймер для GUI в Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class TimerExample { public static void main(String[] args) { // Создание окна JFrame frame = new JFrame("Timer Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Создание метки для отображения времени JLabel timerLabel = new JLabel("00:00:00"); frame.getContentPane().add(timerLabel); // Создание таймера Timer timer = new Timer(1000, new ActionListener() { int secondsPassed = 0; @Override public void actionPerformed(ActionEvent e) { // Код, который будет выполняться каждую секунду secondsPassed++; int hours = secondsPassed / 3600; int minutes = (secondsPassed % 3600) / 60; int seconds = secondsPassed % 60; String time = String.format("%02d:%02d:%02d", hours, minutes, seconds); timerLabel.setText(time); } }); // Запуск таймера timer.start(); // Показать окно frame.pack(); frame.setVisible(true); } } |
В этом примере создается окно с меткой, которая отображает текущее время в формате часы:минуты:секунды
. Таймер обновляет значение метки каждую секунду.
Основным компонентом таймера является javax.swing.Timer
, который может создавать события каждый определенный промежуток времени. В этом примере промежуток времени составляет 1000 миллисекунд (1 секунда).
Таймеру также передается экземпляр интерфейса java.awt.event.ActionListener
, который содержит код, который будет выполняться каждый раз, когда происходит событие таймера (т.е. каждую секунду в этом примере). В данном случае код обновляет значение метки с текущим временем.
Инициализация таймера выполняется с помощью метода start()
. Таймер будет выполнять код каждую секунду, пока не будет вызван метод stop()
.