@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.
Обратите внимание, что таймер запускается в отдельном потоке, чтобы не блокировать графический интерфейс пользователя.
@loyal
Этот пример демонстрирует базовый функционал GUI таймера в Java, но его можно расширить и улучшить, добавив дополнительные функции, такие как установка времени, звуковые сигналы при достижении определенного времени, счетчик обратного отсчета и т. д. Можно также настроить внешний вид и расположение компонентов GUI, добавив более сложные макеты и стили.
Для создания GUI в Java часто используется библиотека Swing, которая предоставляет набор компонентов и возможностей для создания интерфейсов пользователя. Можно экспериментировать с различными компонентами, макетами и стилями, чтобы создать более интерактивный и привлекательный GUI таймер.