Richtige Verwendung eines Timers

pro2

Bekanntes Mitglied
Mal angenommen ich habe eine Methode x(), diese setzt einen boolean auf true. 5sec später möchte ich diesen boolean wieder auf false setzen. Wie setze ich da korrekt einen Timer ein? Oder gibt es eine bessere Methode?
Muss ich mir da extra ne Klasse mit einer run() Methode erstellen? Wobei das ja auch schon wieder "problematisch" mit dem Zugriff (ist zwar kein Problem, aber eine suboptimale Lösung) auf die Variable ist.

Wäre nett, wenn mir da jemand ein gutes Beispiel geben könnte.

Danke!
 

pro2

Bekanntes Mitglied
Ich habe das gesehen aber geht das nicht unkomplizierter? Also ohne dass ich mir eine Klasse erstelle, die mir dann das Event ausführt. Ist doch viel zu "umständlich", um eine Variable zu verändern :x
 

pro2

Bekanntes Mitglied
Gut, dann werde ich das wohl so machen müssen. Danke.

Noch eine Frage: Es wäre ja blöd wenn ich jetzt 10 innere Klassen schreibe, nur weil ich 10 Variablen habe. Eine Möglichkeit wäre ja, dass ich meiner Klasse irgendwas im Konstruktor mitgebe, auf dass ich dann prüfe und dementsprechend die Variable verändere.
Kann ich denn auch irgendwie direkt die Variable mitgeben, die verändert werden soll? Also dass ich dann direkt wirklich die Variable der anderen Klasse bearbeite.
 

pro2

Bekanntes Mitglied
Schon klar, aber meine eigentliche Frage ist, wie ich der Klasse bzw. der run() Methode am besten mitteile, welche Variable auf false gesetzt werden soll.
 

Michael...

Top Contributor
Keine Ahnung was das werden soll.
Üblicherweise werden Variablen anderer Objekte über Methoden (zurück)gesetzt.
Weiss nicht, ob's passt: Der relevanten Klasse eine reset-Methode spendieren und diese in der TimerTask am entsprechenden Objekt aufrufen.
 

Andi_CH

Top Contributor
Schon klar, aber meine eigentliche Frage ist, wie ich der Klasse bzw. der run() Methode am besten mitteile, welche Variable auf false gesetzt werden soll.

Na ja, vielleicht hilft dir das weiter. Interfaces sind sehr hilfreich und Events müssen auch nicht immer sein ...

Java:
public class Test {

	private static interface MusterInterface {
		public void reset();
	}

	private static class MusterBoolean implements MusterInterface {

		private boolean test = false;

		public void setTest() {
			test = true;
		}

		@Override
		public void reset() {
			System.out.println("---> setze test auf false");
			test = false;
		}
		@Override
		public String toString(){
			return "" + test;
		}
	}

	private static class MusterInt implements MusterInterface {

		private int test = 0;

		public void setTest(int i) {
			test = i;
		}

		@Override
		public void reset() {
			System.out.println("---> setze test auf 0");
			test = 0;
		}
		@Override
		public String toString(){
			return "" + test;
		}
	}

	private static class Timer extends Thread {
		private final long time;
		private final MusterInterface iref;
		public Timer(long t, MusterInterface i) {
			time = t;
			iref = i;
		}

		@Override
		public void run() {
			try {
				sleep(time);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			iref.reset();
		}
	}

	@Override
	public String toString() { return "Hello world";}

	public static void main(String[] args) {
		MusterBoolean mb = new MusterBoolean();
		mb.setTest();
		Timer t1 = new Timer(3333, mb);
		t1.start();
		MusterInt mi = new MusterInt();
		mi.setTest(42);
		Timer t2 = new Timer(2222, mi);
		t2.start();
		for(int i=0; i<5; i++) {
			System.out.println("===========================");
			System.out.println("Zeit : " + i);
			System.out.println(mb);
			System.out.println(mi);
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Final_Striker Exceptionhandling: Richtige Verwendung des Try/Catch Blocks Allgemeine Java-Themen 14
B Lottospiel, genug Reihen tippen für 3 Richtige (Spaß mit Arrays)? Allgemeine Java-Themen 46
N Ist Selenium hier das richtige Werkzeug? Allgemeine Java-Themen 1
F Java Script für das Vorhaben das richtige? Allgemeine Java-Themen 9
B Logikfehlersuche, das perfekte Lottosystem für 3 Richtige mit Arraylists? Allgemeine Java-Themen 61
F Java die richtige Sprache? - Anfänger Allgemeine Java-Themen 3
T If Vergleich ergibt nicht das richtige Ergebnis Allgemeine Java-Themen 2
U Welches ist das richtige Entwurfsmuster Allgemeine Java-Themen 2
L Richtige Dokumentation eines Java Programms Allgemeine Java-Themen 5
J JSP die richtige Wahl Allgemeine Java-Themen 2
P Ist Java überhaupt das Richtige für mich? Allgemeine Java-Themen 7
G "Richtige" Konsolenanwendung (wie z.B. nano, cente Allgemeine Java-Themen 4
B Java, Ant und das richtige JDK? Allgemeine Java-Themen 9
T Ist IAdaptable die richtige Lösung? Allgemeine Java-Themen 4
O Oberfläche und "richtige" Programmierung Allgemeine Java-Themen 8
L Welche Collection ist die richtige ? Listen mergen Allgemeine Java-Themen 3
K Richtige JVM für jar Ausführung? Allgemeine Java-Themen 4
meez Vectoren vs. "richtige" Arrays Allgemeine Java-Themen 18
Z JNA Cpp-DLL String Verwendung Allgemeine Java-Themen 2
M WSDL: Doppelte Typenames (Keine Verwendung möglich) Allgemeine Java-Themen 5
F Klassen Verwendung abstrakter Klassen Allgemeine Java-Themen 9
K Saubere Verwendung von Generic Types Allgemeine Java-Themen 7
D Verwendung von Selenium Allgemeine Java-Themen 2
P ClassCastException bei Verwendung eines Interfaces Allgemeine Java-Themen 7
M Fehler bei Verwendung von TexturePaint Allgemeine Java-Themen 16
S OOP Apache Commons Math - Verwendung von Genetics - Wie werden Daten in Chromosomen gespeichert? Allgemeine Java-Themen 4
M Verwendung der Cipher von gnu crypto (Serpent) Allgemeine Java-Themen 3
B Verwendung von Packages im Java Code Allgemeine Java-Themen 10
T Warnungsfreie Verwendung von Generics Allgemeine Java-Themen 11
M Problem bei der Verwendung von AES Allgemeine Java-Themen 2
J Port verwendung Allgemeine Java-Themen 13
M Verwendung von unchecked exceptions & bereits vorhandenen exceptions was priorisieren Allgemeine Java-Themen 3
X Wie 'teuer' ist die Verwendung des Stack Trace ? Allgemeine Java-Themen 8
W Verwendung von byte Allgemeine Java-Themen 9
L Verwendung? Allgemeine Java-Themen 2
D Fehlerhafte Thread Verwendung beim arbeiten mit Sockets Allgemeine Java-Themen 6
N allg. Frage zur Verwendung von this Allgemeine Java-Themen 3
G Verwendung von DataInputStream und URL Allgemeine Java-Themen 2
C Seltsame Konstanten (und Verwendung) Allgemeine Java-Themen 15
X Exception bei Verwendung von systray4j Allgemeine Java-Themen 5
O regulärer Ausdruck zum durchsuchen eines Strings verwenden Allgemeine Java-Themen 2
T Rotationswinkel eines Bildes bestimmen Allgemeine Java-Themen 4
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
M Array Rang eines Elements Allgemeine Java-Themen 4
OnDemand Teile eines Links entfernen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
W JSON parsen eines ,mit JS.stringify erstellten Strings Allgemeine Java-Themen 27
H Textposition eines gedrehten Textes verschieben Allgemeine Java-Themen 8
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
E Ersetzen eines Bildes in der Kopfzeile eines Word-Docx-Dokuments mit Apache POI XWPF Allgemeine Java-Themen 0
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
T Letztes Zeichen eines Strings enfernen Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
gotzi242 Schatzsuche mithilfe eines O(log n) Algorithmus Allgemeine Java-Themen 2
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
S Mittelwert anhand eines Stream berechnen Allgemeine Java-Themen 5
kodela Breite eines erweiterten Monitors feststellen Allgemeine Java-Themen 5
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
bueseb84 Wget mit Wildcards - oder wie lädt man bei JFrog die letzte Version eines Artifacts herunter Allgemeine Java-Themen 3
N Erkennen eines Programs Allgemeine Java-Themen 2
N Pausieren eines Programmes Allgemeine Java-Themen 4
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
F Wie bekommt man alle Filenamen eines Webserver Verzeichnisses Allgemeine Java-Themen 6
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
N Eigenschaften eines Buttons per Setter verändern Allgemeine Java-Themen 5
S Ausfuehrung eines Programms aufzeichnen..? Allgemeine Java-Themen 4
X Ermittlung eines doppelte Paars mit Streams Allgemeine Java-Themen 50
Stonie Prüfen von direkter Implementierung eines Interfaces Allgemeine Java-Themen 7
S Vorbereitung eines Praktikums Allgemeine Java-Themen 4
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
M Weiterleiten von empfangenen Nachrichten eines StompSessionHandlers Allgemeine Java-Themen 1
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
H Rename eines Projekts Allgemeine Java-Themen 1
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
Meeresgott Erste Schritte Sourcetree - Git | Suchen eines Commits Allgemeine Java-Themen 2
E Status eines USB Mikrofon abfragen Allgemeine Java-Themen 2
DaCrazyJavaExpert OOP Ansätze und Tipps zum Porgrammieren eines Taschenrechners Allgemeine Java-Themen 25
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
I Verbindung eines Java-Plugins mit Webserver Allgemeine Java-Themen 3
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
B Spalten eines 2d-Arrays Allgemeine Java-Themen 2
M Rechenprogramm eines wissenschaftlichen Taschenrechners Allgemeine Java-Themen 4
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
E Typüberprüfung eines chars Allgemeine Java-Themen 5
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
T Teile eines Double-Wertes verändern Allgemeine Java-Themen 2
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
H Datentypen Typ eines Arrays überprüfen Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben