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

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

от jaylen.trantow , в категории: Java , 8 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от aaron_armstrong , 8 месяцев назад

@jaylen.trantow 

Для создания таймера для GUI в Java можно использовать классы Timer и TimerTask из пакета java.util.


Ниже приведен пример кода для создания таймера:

 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
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;
import java.util.TimerTask;

public class TimerExample {
    private Timer timer;
    private int seconds;

    public TimerExample() {
        seconds = 0;

        timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                seconds++;
                System.out.println(seconds); // Выводим количество секунд в консоль

                // Добавьте нужный код для обновления GUI с каждым тиком таймера
                // Например, обновить метку с текущим временем или прогресс-бар
            }
        }, 1000, 1000); // Запуск таймера с задержкой 1 секунда и периодом 1 секунда
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new TimerExample();
            }
        });
    }
}


Основной код находится внутри метода run() класса TimerTask. Здесь происходит обновление счетчика seconds и обновление GUI по вашему выбору. В данном примере каждую секунду увеличивается количество секунд, а затем выводится в консоль.


Обратите внимание, что таймер запускается в отдельном потоке, чтобы не блокировать главный поток GUI. Используется метод SwingUtilities.invokeLater() для запуска GUI на главном потоке.