Moin! 
Ich habe eine Klasse namens UhrApplet erstellt und das kompiliert.
Wenn ich auf Button "Schalter" drücke, soll die Zeit halten. Das funktioniert nicht.
Und das geht auch nicht, wenn ich Zeit wieder laufen lasse.
Davon gehe ich aus, dass die actionPerformed-Methode nicht korrekt ist. Oder?
Für Eure Hilfe wäre ich euch dankbar!
Ich habe eine Klasse namens UhrApplet erstellt und das kompiliert.
Wenn ich auf Button "Schalter" drücke, soll die Zeit halten. Das funktioniert nicht.
Und das geht auch nicht, wenn ich Zeit wieder laufen lasse.
Davon gehe ich aus, dass die actionPerformed-Methode nicht korrekt ist. Oder?
Für Eure Hilfe wäre ich euch dankbar!
Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class UhrApplet extends Applet
implements Runnable, ActionListener {
private Date zeit;
private String timeFormat = "HH:mm:ss";
private SimpleDateFormat sdfDatum;
private Font schrift;
private Thread uhr;
private Button schalter;
public void init() {
schrift = new Font("Monospaced", Font.BOLD, 16);
setLayout(null);
schalter = new Button("Stop!");
schalter.addActionListener(this);
schalter.setBounds(100, 10, 30, 30);
add(schalter);
}
public void start() {
if(uhr==null) {
uhr = new Thread(this);
uhr.start();
}
}
public void stop() {
uhr = null;
}
public void run() {
while (uhr != null) {
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
repaint();
}
}
}
public void actionPerformed(ActionEvent ae) {
if(uhr != null) {
uhr = null;
schalter.setLabel("start");
} else {
uhr = new Thread(this);
uhr.start();
schalter.setLabel("stop");
}
}
public void paint(java.awt.Graphics g) {
zeit = new Date();
g.setFont(fett);
sdfDatum = new SimpleDateFormat(timeFormat);
g.drawString(sdfDatum.format(zeit), 30, 70);
}
}
Zuletzt bearbeitet: