master
3009594 2024-09-21 00:31:17 +02:00
parent a1f292a319
commit b2c683495b
1 changed files with 114 additions and 0 deletions

View File

@ -0,0 +1,114 @@
package Übungen;
import java.awt.EventQueue;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
import java.util.ArrayList;
public class Stopuhr extends JFrame {
JPanel contentPane;
JLabel zeige_zeit;
JButton start_zeit, stop_zeit_1;
JTextArea zeige_alleZeiten;
Timer timer, print_alleZeiten;
boolean aktiv;
long startzeit;
int speichere_alle_zeiten_index = 0;
ArrayList<String> speichere_alle_zeiten = new ArrayList<>();
public Stopuhr() {
this.setTitle("Stopuhr");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 498, 630);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
zeite_elemente();
start_programm();
this.setVisible(true);
}
public void start_programm() {
aktiv = false;
timer = new Timer(100, e -> update_zeit());
print_alleZeiten = new Timer(100, e -> print_next_time());
start_zeit.addActionListener(e -> start_stopuhr());
stop_zeit_1.addActionListener(e -> stop_stopuhr());
}
public void start_stopuhr() {
if (!aktiv) {
timer.start();
startzeit = System.currentTimeMillis();
aktiv = true;
speichere_alle_zeiten_index = 0;
}else
print_alleZeiten.start();
}
public void stop_stopuhr() {
if (aktiv) {
timer.stop();
print_alleZeiten.stop();
start_zeit.setEnabled(false);
aktiv = false;
} else {
zeige_alleZeiten.setText("");
zeige_zeit.setText("Zeit: 0.0 s");
start_zeit.setEnabled(true);
speichere_alle_zeiten.clear();
}
}
public void update_zeit() {
double rest = (System.currentTimeMillis() - startzeit) / 1000.0;
String formatiere_zahl = String.format("Zeit: %.1f s", rest);
speichere_alle_zeiten.add(formatiere_zahl);
zeige_zeit.setText(formatiere_zahl);
}
public void print_next_time() {
zeige_alleZeiten.append(speichere_alle_zeiten_index + 1 + ".: " + speichere_alle_zeiten.get(speichere_alle_zeiten_index) + "\n");
speichere_alle_zeiten_index++;
}
public static void main(String[] args) {
new Stopuhr();
}
public ArrayList<String> getalleZeiten() {
return speichere_alle_zeiten;
}
public void zeite_elemente() {
zeige_zeit = new JLabel("Zeit: 0.0 s");
zeige_zeit.setFont(new Font("Tahoma", Font.BOLD, 16));
zeige_zeit.setBounds(10, 11, 450, 42);
contentPane.add(zeige_zeit);
start_zeit = new JButton("Start/Lap");
start_zeit.setBounds(10, 484, 190, 54);
contentPane.add(start_zeit);
stop_zeit_1 = new JButton("Stop/Löschen");
stop_zeit_1.setBounds(252, 484, 190, 54);
contentPane.add(stop_zeit_1);
zeige_alleZeiten = new JTextArea();
zeige_alleZeiten.setFont(new Font("Arial", Font.BOLD, 15));
zeige_alleZeiten.setBounds(10, 53, 417, 376);
contentPane.add(zeige_alleZeiten);
}
}