Wie Applet mit Timer updaten, warum 2. Thread ?

Status
Nicht offen für weitere Antworten.

MegaWatt

Mitglied
Das Applet soll eine Zeitabhängige Grafik anfertigen und jede Minute aktualisieren.
Doch schon das Funktionsmodell geht nicht:

Code:
...
Calendar cal = new GregorianCalendar();
...
public void run()
{
    while ( true )
      {
        try
        {
          repaint();
          Thread.sleep( 1000*5 );  // 5 Sekunden schlafen
        }
        catch ( InterruptedException e ) {};
      }
}


public void paint( Graphics g )
{
    g.drawString(String.valueOf(Stunde)+":"+String.valueOf(Minute )+"."+ String.valueOf(cal.get( Calendar.SECOND)), 10, 90);
}

Nur wenn ich das Applet im Browser neu lade, wird es aktualisiert.
Mein Problem ist eher grundsätzlicher Natur: Warum sollte ich einen neuen Thread machen und wie diesen verbinden ?
 
E

einer

Gast
Also wenn du das so schreibst geht das:

Code:
public void paint( Graphics g )
{
    while (true)
    {
        g.drawString(String.valueOf(Stunde)+":"+String.valueOf(Minute )+"."+ String.valueOf(cal.get( Calendar.SECOND)), 10, 90);
        try
        {
          repaint();
          Thread.sleep( 1000*5 );  // 5 Sekunden schlafen
        }
        catch ( InterruptedException e ) {}; 
}
 

Sky

Top Contributor
Die paint-Methode würde ich nicht blokieren!

Implementiert deine Klasse das Interface "Runable" ? Falls ja, im Konstruktor:
Code:
new Thread(this).start();
und schon läuft die Sache ;-)

Neben einem Repaint müsste aber auch der Calendar aktualisiert werden.
 

Sky

Top Contributor
Ich würde es am saubersten so lösen:
Code:
class DeineKlasse extends JComponent {

  private Calendar cal = new GregorianCalendar();

  public DeineKlasse() {
    java.util.Timer theTimer = new java.util.Timer();
    TimerTask theTask = new TimerTask() {
      public void run() {
        // Zeit aktualisieren
        cal = new GregorianCalendar();
        // Neu malen
        repaint();
      }
    };
    theTimer.schedule( theTask, 0, 1000 * 5 );
  }

  public void paintComponent( Graphics g ) {
    // hier malen
  }
}
 

MegaWatt

Mitglied
Nach Stunden, oder waren es Tage, funktioniert es so:

Code:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.util.*;

public class Zeitapplet extends JApplet implements Runnable {

   Calendar cal;

   public void init() {
	new Thread(this).start();
   }//Init

   public void run()
   {	
    while ( true )
      {
        try
        { repaint();
          Thread.sleep( 1000*5 );  // 5 Sekunden schlafen
        }
        catch ( InterruptedException e ) {}	
      }
   }

   public void paint( Graphics g )
   {
      cal = new GregorianCalendar();
      super.paint( g );
      Graphics2D g2 = (Graphics2D) g;
      Stunde = cal.get( Calendar.HOUR_OF_DAY );
      Minute = cal.get( Calendar.MINUTE );
      g.drawString(String.valueOf(Stunde)+":"+String.valueOf(Minute )+"."+ String.valueOf(cal.get( Calendar.SECOND)), 10, 90);
   }//paint

}//class

Das "implements Runnable" hat gefehlt und das "new Thread(this).start();" musste ganz anders geschrieben werden...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Timer in Applet Java Basics - Anfänger-Themen 2
M Java-Applet zur Mittelwertberechnung Java Basics - Anfänger-Themen 3
D Java Applet wird nicht im Browser angezeigt Java Basics - Anfänger-Themen 6
M bestehendes Projekt als Applet speichern Java Basics - Anfänger-Themen 2
S Erste Schritte Java - Applet - Rechteck ständig versetzen Java Basics - Anfänger-Themen 14
A Applet Plot für atan erstellen Java Basics - Anfänger-Themen 1
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
K JDK installieren displays java applet für MAC Java Basics - Anfänger-Themen 10
S Zeichen von abgerundeten Rechtecken auf einem Applet Java Basics - Anfänger-Themen 5
J Einfache einbindung eines Bildes in ein Applet Java Basics - Anfänger-Themen 4
S Klassen Applet extern aufrufen Java Basics - Anfänger-Themen 1
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2
C Applet Probleme Java Basics - Anfänger-Themen 1
A Compiler-Fehler Problem beim einbinden der applet Klasse Java Basics - Anfänger-Themen 2
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
G Applet in ein JSP einbinden Java Basics - Anfänger-Themen 1
C Java-Applet Fehler "NoClassDefFoundError"? Java Basics - Anfänger-Themen 1
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
C Kalender in Applet einfügen Java Basics - Anfänger-Themen 0
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
V Text aus einer .txt dynamisch ins applet einpassen Java Basics - Anfänger-Themen 0
K Applet funz. im Browser nicht Java Basics - Anfänger-Themen 11
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
thet1983 Erste Schritte <param> Tag in Applet Java Basics - Anfänger-Themen 4
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
F Platzieren von Komponenten in Swing Applet funktioniert nicht Java Basics - Anfänger-Themen 3
G Signiertes Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 1
Y Applet: Verschlüsselung Java Basics - Anfänger-Themen 3
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
F signiertes Applet fkt. nicht bei lokalem Aufruf Java Basics - Anfänger-Themen 2
K Frage zu Applet Java Basics - Anfänger-Themen 3
V While Schleife für ganzes Applet Java Basics - Anfänger-Themen 6
P Applet Histogramm Java Basics - Anfänger-Themen 6
H 27 Kreise Zeichnen Java Applet Java Basics - Anfänger-Themen 2
G Java Applet aus Eclipse heraus testen? Java Basics - Anfänger-Themen 6
S Applet findet Klasse nicht Java Basics - Anfänger-Themen 7
R Java Applet mit Mausklick ansprechen Java Basics - Anfänger-Themen 3
C Java Applet in html. Pong - old school Spiel Java Basics - Anfänger-Themen 10
S Applet-Objekt ist vor dem Hintergrund Java Basics - Anfänger-Themen 11
F Problem mit Applet Java Basics - Anfänger-Themen 5
A Applet mit Object-Tags einbinden. Java Basics - Anfänger-Themen 3
S Erste Schritte Fenster wechsel im Applet Java Basics - Anfänger-Themen 7
S Applet Deployment Java Basics - Anfänger-Themen 2
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
H Applet - main()-Methode Java Basics - Anfänger-Themen 4
K Applet wird nicht im Browser und Appletviewer angezeigt Java Basics - Anfänger-Themen 5
L Applet : keine Recht für Zugriff auf Clipboard (trotz Zertifikat) Java Basics - Anfänger-Themen 4
N Erste Schritte Applet zeichnet Bild nicht Java Basics - Anfänger-Themen 10
H Klassen in Eclipse stellt es im Ausgabe-Applet nicht dar Java Basics - Anfänger-Themen 5
L Applet soll Html-File öffnen Java Basics - Anfänger-Themen 2
L NetBeans Applet in html Java Basics - Anfänger-Themen 4
Dogge Start:Applet nicht Initialisiert Java Basics - Anfänger-Themen 11
D Applet beenden Java Basics - Anfänger-Themen 7
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
M RSA Applet ohne Cipher Java Basics - Anfänger-Themen 15
B String verschlüsseln - Applet - ohne BASE64 Java Basics - Anfänger-Themen 7
S Methode in Applet starten Java Basics - Anfänger-Themen 2
M AWT Applet - Button aus anderer Klasse abfragen Java Basics - Anfänger-Themen 4
W Probleme mit Java Applet Java Basics - Anfänger-Themen 5
M Applet kann in Browser nicht ausgeführt werden Java Basics - Anfänger-Themen 4
L Applet: Laden unterbricht den Browserfokus (scrollen) Java Basics - Anfänger-Themen 2
Z Applet startet nicht bei Domain mit Umlaut Java Basics - Anfänger-Themen 2
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
Helgon ClassNotFound Applet Java Basics - Anfänger-Themen 6
U Applet Signiert und trotzdem Fehlermeldung Java Basics - Anfänger-Themen 18
E Schach in Java-Applet <No main classes found> Java Basics - Anfänger-Themen 5
S Applet Java Basics - Anfänger-Themen 2
S [Applet] Objekte von init bei paint benutzen Java Basics - Anfänger-Themen 9
E Applet wird nicht angezeigt Java Basics - Anfänger-Themen 11
P Problem- Java Applet wird nicht ausgeführt Java Basics - Anfänger-Themen 9
B Applet - Laden eines Java-Fensters bricht ab Java Basics - Anfänger-Themen 6
N Import Problem, Applet will nicht Java Basics - Anfänger-Themen 6
M Applet Eclipse Vollbild Java Basics - Anfänger-Themen 3
K Befehl per Shell an Java-Applet JAR übergeben Java Basics - Anfänger-Themen 16
I Java Applet Java Basics - Anfänger-Themen 8
D Java Applet Dateien auf Server auslesen? Java Basics - Anfänger-Themen 8
L Referenced Libraries korrekt in Java Applet einbinden.. Java Basics - Anfänger-Themen 2
KBJ Java Applet Gästebuch Java Basics - Anfänger-Themen 12
T Java Applet braucht mehrere Minuten zu Start Java Basics - Anfänger-Themen 5
U Applet wird nicht angezeigt Java Basics - Anfänger-Themen 2
J J-Applet, Frage Java Basics - Anfänger-Themen 19
J Applet farblich gestalten Java Basics - Anfänger-Themen 5
M Applet lokaler Festplattenzugriff Java Basics - Anfänger-Themen 25
X Applet - Client/Server Java Basics - Anfänger-Themen 2
M Applet ist nur graues Feld Java Basics - Anfänger-Themen 12
O webserver für Applet und php Java Basics - Anfänger-Themen 7
J Fehlermeldung: Applet nicht initialisiert Java Basics - Anfänger-Themen 24
C Java Applet Probleme Java Basics - Anfänger-Themen 4
S Probleme mit Java 3D Tutorial (Applet) Java Basics - Anfänger-Themen 7
S Input/Output Problem mit dateizugriff innerhalb der .jar (Applet) Java Basics - Anfänger-Themen 2
M Applet + BilderDownload Java Basics - Anfänger-Themen 36
O Applet Wetterticker Java Basics - Anfänger-Themen 17
W KeyListener auf Applet mit Runnable Java Basics - Anfänger-Themen 4
M Bild in Applet darstellen Java Basics - Anfänger-Themen 6
W Applet funktiniert nur in Eclipse Java Basics - Anfänger-Themen 2
S Erste Schritte Machbarkeit: Applet oder GUI-Applikation? Java Basics - Anfänger-Themen 3
R Daten von Applet an Website Java Basics - Anfänger-Themen 4
A Linie Zeichnen Applet mit Double Wert Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben