WinFuture-Forum.de: [java] Funktion Alle X Sekunden Ausführen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[java] Funktion Alle X Sekunden Ausführen


#1 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 25. Februar 2010 - 23:15

Hallo,
ich komme einfach nicht dazu dass ich eine Funktion alle x Sekunden ausführen kann.

Ich arbeite gerade an einem kleinen JavaChat der aus Textdokumenten besteht.
Ich habe eine zentrale Textdatei in der alles gespeichert wird.

Diese Datei lasse ich bereits in einer Textarea ausgeben. Um jetzt in Real time den Chatverlauf zu verfolgen muss eine Funktion die den Inhalt der txt in der Area schreibt am besten jede Sekunde ausgeführt werden.

Weiß jemand rat?
0

Anzeige



#2 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 26. Februar 2010 - 07:53

http://java.sun.com/docs/books/tutorial/ui...misc/timer.html
0

#3 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 26. Februar 2010 - 11:49

Also das verstehe ich nicht. Der untere Quelltext bezieht sich jafasst garnicht auf den Oberen.
timer = new Timer(speed, this);
timer.setInitialDelay(pause);
timer.start();
Habe ich verstanden, da wird wahrscheinlich der Timer gestartet.

Nur wie kann ich nun eine funktion X(){..} damit verknüpfen?
Werde leider aus dem unterem Quellcode nicht schlau!

Wenn ich mir einen Timer in einer While-Schleife bastel, bleibt er natürlich immer in der Schleife "hängen" sodass man garkeine Buttons oderso anklicken kann.
0

#4 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 26. Februar 2010 - 12:05

Ich gehe mal davon, dass du ein Java-Applet verwendest.

In deiner init-Methode kannst du dann folgendes Code-Schnipsel verwenden.
// 1000 = 1 Sekunde
Timer timer = new Timer(1000, new MyListener());
// Erst nach 2 Sekunden gehts los
timer.setInitialDelay(2000);
timer.start();
// ...

class MyListener implements ActionListener {
  public void actionPerformed(ActionEvent e) {
	 String dateiInhalt = methodeZumAuslesenEinerDatei();
	 meineTextArea.setText(dateiInhalt);
  }

0

#5 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 26. Februar 2010 - 12:11

Nein, ich verwende kein Applet, aber ich werde es mal mit dem Code ausprobieren.
Muss ich nicht noch was importieren, damit der timer funktioniert?

Danke schonmal! ;-)
0

#6 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 26. Februar 2010 - 12:20

Immer wieder gerne. ;-)

"import javax.swing.Timer;"

Hier hast noch ein weiteres kleines Beispiel:
http://www.java2s.com/Tutorial/Java/0240__...SwingTimers.htm
0

#7 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.119
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 26. Februar 2010 - 12:51

Funktioniert super! Ich bin begeistert, das kann ich für so viele Sachen echt gut gebrauchen! ;-) Danke Witi!
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0