Eigenes Event beim TimeOut

DodoJava

Mitglied
Guten Morgen,

ich muss gerade ein JavaApplet programmieren und komme auch relativ gut zurecht (langjährige Erfahrung in VB und PHP).

Nun stehe ich jedoch vor einem Problem und vielleicht gehe ich das auch vollkommen falsch an (weil ich es in VB so realisieren würde).

Ich habe mir aus dem Netz ein Code für ein Timer rausgesucht und ihn für meine Bedürfnisse angepasst.
Nun brauche ich jedoch irgendwie ein eigenes Event (oder irgendwas anderes) welches bei einem TimeOut des Timers eine Methode in meinem Hauptcode ausführt.

Timercode:
Java:
public class Timer implements Runnable {
	private Thread clock;
	private Boolean bRunning = false;
	public int Interval = 1000;
	
	public void destroy() {
		bRunning = false;
		clock = null;
	}
	
	public void init(){    
		if(clock == null) {
			clock = new Thread(this);
			clock.start();
		}
	}

	public void run() {
		while(bRunning) {
			try {
				clock.sleep(Interval);
				// <-- Raise Event
			} catch(InterruptedException e) {
	        	 
			}
		}
	}
	
	public void start() {
		bRunning = true;
		run();
	}
	
	public void stop() {
		bRunning = false;
	}
}

Meinem Hauptcode sieht abgespeckt nun so aus

Java:
public class HeMeter extends Applet implements ActionListener{
	private Timer tmeTimer;

	public void init() {
		tmeTimer.Interval = 2000; // 2 sek
		tmeTimer.start();
	}

	// Diese Methode soll ausgeführt werden bei einem Timeout
	public void tmeTimer_Timeout() {
		// hier kommt Code
	}
}

Ich würde mich sehr über hilfreiche Antworten freuen, auch wenn meine Denkweise falsch ist bitte ich um berichtigung.
Ziel ist im Prinzip einfach das alle 2 Sekunden ein Code ausgeführt wird (ohne das die GUI hängt, deswegen auch ein Thread)

Vielen Dank
gruß Dodo
 

Suinos

Bekanntes Mitglied
Du musst dem Timer einfach eine Referenz mitgeben, über welche die bestimmte Methode aufgerufen werden kann.
Am besten & allgemeinsten löst man das über ein Interface, welches eine bestimmte Methode hat, welche aufgerufen werden soll.

Die sauberste Lösung wäre es, ein eigenes Interface zu erstellen, welches deine
Code:
HeMeter
-Klasse implementiert.

Oder Quick & Dirty mit
Code:
Runnable
:
Java:
public class Timer

[...]

private final Runnable toRun;

[...]

public Timer(Runnable toRun)
{
  this.toRun = toRun;
}

[...]

toRun.run(); // <-- Raise Event

und entsprechend

Java:
public class HeMeter implements Runnable

[...]

tmeTimer = new Timer(this);

[...]

@Override
public void run()
{
  tmeTimer_Timeout();
}
 

DodoJava

Mitglied
Danke für die Antwort, aber irgendwie habe ich das nicht richtig verstanden.

Ich habe mir jedoch mühsam aus einem anderen umfangreichen Projekt etwas rausklamüsert was meinen Vorstellungen entspricht.

Java:
	public void init() {
		Timer timer = new Timer();
		timer.schedule(new Timeout(), 2000, 2000);
	}

	private class Timeout extends TimerTask {
		public void run() {
			iCount++;
			lblLevel.setText(String.valueOf(iCount));
		}
	}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
R Eigenes Protokoll zur Übermittlung von Daten zum Webserver? Java Basics - Anfänger-Themen 4
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
G eigenes package Java Basics - Anfänger-Themen 3
Anfänger2011 Eigenes Betriebssystem Java Basics - Anfänger-Themen 6
P Eigenes Fenster erstellen Java Basics - Anfänger-Themen 5
F eigenes Listener Pattern mit Interface Java Basics - Anfänger-Themen 1
P eigenes Equal mit IndexOf() Java Basics - Anfänger-Themen 5
L eigenes Steuerelement Zeitstrahl Java Basics - Anfänger-Themen 3
F Eigenes Package - Variable exportieren Java Basics - Anfänger-Themen 11
GianaSisters Methoden eigenes TableModel -> removeRow möglich machen Java Basics - Anfänger-Themen 30
C Eigenes Konsolenfenster Java Basics - Anfänger-Themen 3
D Packages verwenden und in eigenes Projekt integrieren Java Basics - Anfänger-Themen 3
B Eigenes Package Java Basics - Anfänger-Themen 6
S Eigenes Objekt temporär verändern? (Clone)? Java Basics - Anfänger-Themen 12
M Eigenes Programm Flaechenrechner Java Basics - Anfänger-Themen 8
L Eigenes List Model für Icon + String -> Speicherhungrig? Java Basics - Anfänger-Themen 8
X Eigenes Kontosystem vervollständigen Java Basics - Anfänger-Themen 11
Developer_X eigenes ImageIcon schreiben Java Basics - Anfänger-Themen 11
S Eigenes Kontextmenü Java Basics - Anfänger-Themen 3
I jar in eigenes Programm unwandeln (OSX und Win) Java Basics - Anfänger-Themen 4
R Eigenes Pair Object Java Basics - Anfänger-Themen 2
C eigenes TableModel Java Basics - Anfänger-Themen 2
data89 In Java ein eigenes Lexikon erstellen? Doch wie? Java Basics - Anfänger-Themen 5
K javadoc eigenes doclet in console starten Java Basics - Anfänger-Themen 3
M Eigenes Ellipse2D-Objekt Java Basics - Anfänger-Themen 5
G Eigenes Fenster Java Basics - Anfänger-Themen 51
N Eigenes Icon in InputDialog geht nicht! Java Basics - Anfänger-Themen 7
J Eigenes Symbol für Java Programm Java Basics - Anfänger-Themen 3
M Eigenes Seitenformat definieren Java Basics - Anfänger-Themen 2
Q Eigenes TableModel - NullPointerException Java Basics - Anfänger-Themen 6
F eigenes Package Java Basics - Anfänger-Themen 2
B Package/Klasse in ein eigenes Projekt einbinden? aber wie? Java Basics - Anfänger-Themen 6
Fiedelbambu fxml onAction event Java Basics - Anfänger-Themen 7
T FXMl Event has not a Slot Java Basics - Anfänger-Themen 1
E Methoden Action Event wird nicht vollständig ausgeführt Java Basics - Anfänger-Themen 3
Tommy135 Event erstellen Java Basics - Anfänger-Themen 7
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
topi WindowAdapter / Listener / Event Java Basics - Anfänger-Themen 4
L Event schmeißen Java Basics - Anfänger-Themen 1
F In Eclipse Haltepunkt bei Event setzen? Java Basics - Anfänger-Themen 1
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
M Action Event auf Textfield legen Java Basics - Anfänger-Themen 18
V Button/Event wird nicht ausgeführt, was tun? Java Basics - Anfänger-Themen 2
J Keyboard Event auch ohne Fokus mitbekommen Java Basics - Anfänger-Themen 2
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
IngoF Welches Event kommt wann? Java Basics - Anfänger-Themen 8
A Key Event - Abfrage von 2 gedrückten Tasten Java Basics - Anfänger-Themen 6
E Event gesucht Java Basics - Anfänger-Themen 1
G Button Event Java Basics - Anfänger-Themen 6
Thallius Hidden Feature über Key Event starten Java Basics - Anfänger-Themen 4
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
F Erste Schritte Aktuelles Fenster durch Event schließen Java Basics - Anfänger-Themen 3
D Button action Event einblenden/ausblenden Java Basics - Anfänger-Themen 6
U Threadsafe Event-Handling Java Basics - Anfänger-Themen 2
C Klassen NullPointerException beim Event Handling in GUI Java Basics - Anfänger-Themen 8
P ActionListener Action Event Java Basics - Anfänger-Themen 5
J Erste Schritte import awt.* ;awt.event.*; Java Basics - Anfänger-Themen 3
T event und while-schleife Java Basics - Anfänger-Themen 26
L Null Pointer Exception bei Focus Event bei einem JTextField Java Basics - Anfänger-Themen 2
M Während event einen anderen event ausführen?? Java Basics - Anfänger-Themen 3
S Event aus anderer Klasse als Auslöser Java Basics - Anfänger-Themen 5
M Event erstellen Java Basics - Anfänger-Themen 6
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
D Auf Event warten Java Basics - Anfänger-Themen 4
I AWS Event Notification Service Sample ausführen... Java Basics - Anfänger-Themen 7
M JList Event Java Basics - Anfänger-Themen 5
Houly while Schleife im ActionPerformed Event Java Basics - Anfänger-Themen 8
R eigenen Event schreiben Java Basics - Anfänger-Themen 16
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
R Event in eigener Klasse implementieren ? Java Basics - Anfänger-Themen 8
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
D Window resize Event ? Java Basics - Anfänger-Themen 5
D Bei Event soll Instanz sich selbst löschen Java Basics - Anfänger-Themen 4
D Event mit n-Button8s) von einem Panel Java Basics - Anfänger-Themen 9
A Synchronisierung oder gibt es das onChange event? Java Basics - Anfänger-Themen 4
J Automatisch Button drücken/Event ausführen? Java Basics - Anfänger-Themen 6
G Button Action Event starten Java Basics - Anfänger-Themen 4
G Methode nicht im Event-Dispatcher-Thread starten? Java Basics - Anfänger-Themen 2
F Doppelklick-Event auf JTree Java Basics - Anfänger-Themen 5
A Wo/Wie Event Listener Java Basics - Anfänger-Themen 3
N Event auf JTabbedPane abfragen ? Java Basics - Anfänger-Themen 8
G Event Handler Java Basics - Anfänger-Themen 7
T button event Java Basics - Anfänger-Themen 3
P Raw-Key-Event Java Basics - Anfänger-Themen 4
Q ActionListener event bei JPanels Java Basics - Anfänger-Themen 5
J Event-Handling geht nicht Java Basics - Anfänger-Themen 6
G Button event problem Java Basics - Anfänger-Themen 24
D MouseLister und Identifikation des Event - Buttons Java Basics - Anfänger-Themen 4
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
T java.awt.event.WindowAdapter Java Basics - Anfänger-Themen 2
B Event-Actionlistener(Def) Java Basics - Anfänger-Themen 6
G GUI Event Handling Java Basics - Anfänger-Themen 5
M Event auslösen (unsinnig gestellt - ignorieren) Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben