Hallo liebe Community,
wir haben die Hausaufgabe bekommen eine Stoppuhr (mit start,stop und reset) zu implementieren. Das Programm kompiliert einwandfrei, aber der Thread startet nicht. Darum hier meine Bitte um eine kleine Hilfestellung.
Danke schonmal im Vorraus
wir haben die Hausaufgabe bekommen eine Stoppuhr (mit start,stop und reset) zu implementieren. Das Programm kompiliert einwandfrei, aber der Thread startet nicht. Darum hier meine Bitte um eine kleine Hilfestellung.
Danke schonmal im Vorraus
Java:
import javax.swing.*;
import java.lang.Thread;
import java.lang.Runnable;
import java.awt.*;
import java.awt.event.*;
public class Stoppuhr extends JFrame implements ActionListener,Runnable{
int zahl1=0;
private Thread thread;
static boolean running1;
private JLabel anzeige1;
private JButton startButton1, stopButton1, resetButton1;
public static void main(String[] args){
new Stoppuhr();
Thread thread = new Thread();
thread.start();
System.out.println("Der Thread wurde gestartet.");
}
@Override
public void run(){
try{
while(running1){
System.out.println("Thread läuft in run()-methode");
Thread.sleep(1000);
anzeige1.setText(""+zahl1++);
}
}catch(Exception exc){
System.out.println("Da ist etwas schief gelaufen.");
}
}
public static void setRunning1(boolean mystate1){
running1=mystate1;
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==startButton1){
System.out.println("Button 1(start) wurde gedrückt.");
setRunning1(true);
}
if(e.getSource()==stopButton1){
System.out.println("Der StopButton1 wurde gedrückt.");
setRunning1(false);
}
}
public Stoppuhr(){
setTitle("Stoppuhr");
setLocationRelativeTo(null);
setSize(800,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(4,1));
//Create the Buttons
startButton1 = new JButton("Start");
startButton1.addActionListener(this);
stopButton1 = new JButton("Stop");
stopButton1.addActionListener(this);
resetButton1 = new JButton("Reset");
//Create the Labels
anzeige1 = new JLabel("0");
anzeige1.setHorizontalAlignment(JLabel.CENTER);
add(anzeige1);
add(startButton1);
add(stopButton1);
add(resetButton1);
setVisible(true);
}
}