|
In diesem GUI-Beispiel wird eine einfache Stoppuhr mit einem Start- und Stoppknopf realisiert. Die gemessene Zeit wird nach dem Stoppen berechnet und in Millisekunden angezeigt. Für die Zeitberechnung wird die Java-Funktion System.currentTimeMillis() genutzt. Sie gibt die aktuelle Uhrzeit in Millisekunden an.
Details:
Hier der Quellcode zum oben beschiebenen Programm:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Stoppuhr extends JFrame {
private JLabel labelZeitAnzeige;
private JButton startButton, stopButton;
long millisekunden;
long zeit;
boolean aktiviert=false;
public Stoppuhr() {
setTitle("Stopuhr");
getContentPane().setBackground(Color.ORANGE);
setLayout(new BorderLayout(9, 9));
labelZeitAnzeige = new JLabel("Start anklicken...");
labelZeitAnzeige.setHorizontalAlignment(JLabel.CENTER);
startButton = new JButton("Start");
stopButton = new JButton("Stop");
getContentPane().add("North",labelZeitAnzeige);
getContentPane().add("West",startButton);
getContentPane().add("East",stopButton);
startButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
start();
}
});
stopButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
stop();
}
});
pack();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
private void start(){
aktiviert=true;
labelZeitAnzeige.setText("Uhr läuft...");
millisekunden=System.currentTimeMillis();
}
private void stop(){
if(aktiviert){
millisekunden=System.currentTimeMillis()-millisekunden;
labelZeitAnzeige.setText(millisekunden+" ms");
aktiviert=false;
}
}
}
Testklasse zum Starten der Anwendung
public class Test {
public static void main(String[] args) {
Stoppuhr su=new Stoppuhr();
}
}
|