Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class Datum extends JFrame implements Runnable
{
Date d;
JLabel l = new JLabel();
Thread t;
Container c = new Container();
JButton b = new JButton("senden");
JPanel unten = new JPanel();
static class DemoAdapter extends WindowAdapter
{
public void windowClosing (WindowEvent e) { System.exit(0); }
}
public Datum()
{
super("aktuelle Zeit");
d = new Date();
t = new Thread();
c = this.getContentPane();
setSize(450,380);
addWindowListener(new DemoAdapter());
c.setLayout(new BorderLayout());
l.setText(d.toString());
add(BorderLayout.CENTER, unten);
unten.add(l);
}
public void run()
{
while(true)
{
try
{
t.sleep(500);
}
catch(InterruptedException e) { }
}
}
public static void main(String[] argv)
{
JFrame frame = new Datum();
frame.pack();
frame.setVisible(true);
}
}
Also es zeigt mir die Uhrzeit schonmal an, wat sehr löblich ist. Ich will aber nun mittels der void sleep(long ms) von Thread die Zeit alle 500 ms aktualisieren. (Das is so laut Aufgabenstellung :roll: )
Wie binde ich nun die Methode run() sinnvoll in die Uhrzeit ein, so dass mir alle 500 ms die Zeit aktualisiert wird?
import java.text.*;
import java.util.*;
/*Eine Uhr, die auf einer Zeile in der Konsole läuft*/
public class ConsolenUhr {
public ConsolenUhr() {
new ZeitAusgabe().start();
}
class ZeitAusgabe extends Thread {
DateFormat df = new SimpleDateFormat("HH:mm:ss");
public void run() {
String zeit = null;
while(true) {
zeit = df.format(new Date());
System.out.print(zeit);
try {
Thread.sleep(1000);
}
catch(InterruptedException e) {
e.printStackTrace();
}
System.out.print("\r");
}
}
}
public static void main(String[] args) {
ConsolenUhr cb = new ConsolenUhr();
}
}
L-ectron-X, der Code von dir ist ziemlich cool. Danke für deine Hilfe.
Aber kann ich nur unter Verwendung der Klasse Date und dem der Methode void sleep(long ms) nicht das irgendwie zum laufen bringen? Es zeigt mir einfach nur konstant due Uhr an ohne zu aktualisieren.