Grüß euch zusammen, ich würde gerne auf meiner GUI die aktuelle Systemzeit anzeigen. Wie mache ich das am einfachsten? Ich hab ein bissl mit nem jTextField rumprobiert, aber ich habs nicht hinbekommen.
Robert L. schrieb: > 1. treffer > > http://www.google.at/search?q=java+systemzeit&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a Hallo Robert, danke, das habe ich auch gelesen und so auch hinbekommen. Problem ist, dass ich den String nicht schön aktualisiert in meine GUI reinbekomme. Also wie ich da die Verknüpfung herstellen muss (z.B. von einem jTextField oder Label... Oder habe ich hier was falsch verstanden?
Du brauchst einen thread der deine anzeige refresht und sich dann wieder
schlafen legt, hier mal ein Beispiel:
public class Animator implements Runnable {
Thread animator;
AnimationWidget curHandler;
public Animator(AnimationWidget animationWidget) {
super();
this.curHandler = animationWidget;
}
public void init() { }
public void start() {
animator = new Thread(this);
animator.start();
}
public void run() {
while (Thread.currentThread() == animator) {
curHandler.execute();
try {
Thread.sleep(200);
} catch (InterruptedException e) {
break;
}
}
}
public void stop() {
animator = null;
}
}
Vorsicht, Swing ist nicht Threadsave: http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html Also alle Änderungen am JLabel oder JTextField, die usprünglich aus dem Thread statemmen in ein SwingUtilities.invokeLater(new Runnable() { public void run() { } }); Einpacken. mfg Andreas
Ähm.. dafür gibt es, ich weiß völlig unsinnig benannt ;-) eine Klasse die nennt sich Timer: http://docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.