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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от raina , 10 месяцев назад

@loyal 

Вот пример кода для создания 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
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class TimerGUI {
    private int seconds = 0;
    private boolean isRunning = false;

    private JFrame frame;
    private JLabel timeLabel;

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

        timeLabel = new JLabel("0:00");
        timeLabel.setFont(new Font("Arial", Font.PLAIN, 50));

        JButton startButton = new JButton("Start");
        startButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                start();
            }
        });

        JButton stopButton = new JButton("Stop");
        stopButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                stop();
            }
        });

        JButton resetButton = new JButton("Reset");
        resetButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                reset();
            }
        });

        frame.add(timeLabel);
        frame.add(startButton);
        frame.add(stopButton);
        frame.add(resetButton);

        frame.setVisible(true);
    }

    public void start() {
        isRunning = true;

        Thread thread = new Thread(new Runnable() {
            public void run() {
                while (isRunning) {
                    try {
                        Thread.sleep(1000);
                        seconds++;
                        updateTimeLabel();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        });

        thread.start();
    }

    public void stop() {
        isRunning = false;
    }

    public void reset() {
        seconds = 0;
        updateTimeLabel();
    }

    public void updateTimeLabel() {
        int minutes = seconds / 60;
        int remainingSeconds = seconds % 60;

        timeLabel.setText(String.format("%d:%02d", minutes, remainingSeconds));
    }

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


Этот пример создает окно с тремя кнопками (Start, Stop, Reset) и меткой, отображающей время в формате "минуты:секунды". По нажатию на кнопку "Start" таймер начинает увеличиваться каждую секунду. Кнопка "Stop" останавливает таймер, а кнопка "Reset" сбрасывает его значение на 0.


Обратите внимание, что таймер запускается в отдельном потоке, чтобы не блокировать графический интерфейс пользователя.

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

от brooklyn , 2 месяца назад

@loyal 

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


Для создания GUI в Java часто используется библиотека Swing, которая предоставляет набор компонентов и возможностей для создания интерфейсов пользователя. Можно экспериментировать с различными компонентами, макетами и стилями, чтобы создать более интерактивный и привлекательный GUI таймер.