Как сделать таймер для gui в java?

Пользователь

от elissa , в категории: Java , 2 месяца назад

Как сделать таймер для gui в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от alisa.bahringer , 2 месяца назад

@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().