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

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

от alisa.bahringer , в категории: Java , 7 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от olen.shanahan , 7 месяцев назад

@alisa.bahringer 

Вот простой пример кода для создания GUI-таймера в Java, используя Swing:

 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class GUITimer {

    private int secondsRemaining;
    private Timer timer;
    private JLabel label;

    public GUITimer() {
        JFrame frame = new JFrame("GUI Timer");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setLayout(new FlowLayout());

        label = new JLabel();
        label.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 48));
        frame.add(label);

        JButton startButton = new JButton("Start");
        startButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                startTimer();
            }
        });
        frame.add(startButton);

        JButton stopButton = new JButton("Stop");
        stopButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                stopTimer();
            }
        });
        frame.add(stopButton);

        frame.setVisible(true);
    }

    private void startTimer() {
        secondsRemaining = 60; // устанавливаем начальное количество секунд

        timer = new Timer(1000, new ActionListener() { // создаем таймер с интервалом 1 секунда
            @Override
            public void actionPerformed(ActionEvent e) {
                secondsRemaining--; // уменьшаем количество секунд на 1
                label.setText(String.valueOf(secondsRemaining)); // обновляем текст на метке
                if (secondsRemaining <= 0) {
                    stopTimer(); // если время вышло, останавливаем таймер
                }
            }
        });

        timer.start(); // запускаем таймер
    }

    private void stopTimer() {
        timer.stop(); // останавливаем таймер
        label.setText("Time's up!"); // выводим сообщение о завершении времени
    }

    public static void main(String[] args) {
        new GUITimer();
    }
}


В этом примере создается окно с меткой и двумя кнопками "Старт" и "Стоп". При нажатии на кнопку "Старт" начинается отсчет времени, уменьшающийся каждую секунду. Когда время заканчивается, на метку выводится сообщение "Time's up!". Кнопка "Стоп" останавливает отсчет времени.

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

от jedidiah.brown , 2 месяца назад

@alisa.bahringer 

Этот код создает простой GUI таймер с возможностью запуска и остановки отсчета времени. Вы можете запустить его и поэкспериментировать с функционалом, а также настраивать его под свои потребности, изменяя интервалы таймера, начальное количество секунд и визуальное оформление.


Если у вас возникнут вопросы или вам понадобится дополнительная помощь, не стесняйтесь обращаться.