C
copper
Gast
Hi ich möchte eine Uhr realisieren, in einem Label oder Textfield.
Mein problem ist, dass die Uhr trotz Timer nicht weiterzählt. Es wird immer nur die erste Zeit angezeigt.
Die Uhr wird auf Buttondruck gestartet.
Dazu mein Quellcode:
THX für die Antworten
Mein problem ist, dass die Uhr trotz Timer nicht weiterzählt. Es wird immer nur die erste Zeit angezeigt.
Die Uhr wird auf Buttondruck gestartet.
Dazu mein Quellcode:
Code:
package uhr;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import javax.swing.table.*;
import javax.swing.Timer.*;
import java.util.Date;
import java.text.*;
public class Main {
public static void main(String[] args) {
mainwindow r1 = new mainwindow();
}
}
class mainwindow extends JFrame implements ActionListener{
private JButton b = new JButton();
public static JPanel panel;
zeit z = new zeit();
public mainwindow(){
b.addActionListener(this);
panel = new JPanel(new FlowLayout());
setSize(600,100);
setLocation(10,10);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.add(z.l);
panel.add(b);
getContentPane().add(panel);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
z.getZeit();
}
}
class zeit{
private Date d = new Date();
final DateFormat sdf = new SimpleDateFormat("HH:mm:ss");
final JLabel l = new JLabel();
private Timer time;
public void getZeit(){
time = new Timer(1000, new ActionListener(){
public void actionPerformed(ActionEvent evt) {
String text = sdf.format(d);
synchronized(l.getTreeLock()) {
l.setText(text);
}
}
});
time.start();
}
}
THX für die Antworten