JavaFX Controller im extra Thread

tr33

Mitglied
Hallo,

ich bin momentan dabei mir eine kleine GUI in JavaFX 2 zu basteln. Die GUI habe ich in SceneBuilder gebastelt und ist somit in fxml.

Soweit so gut. Nun habe ich am Ende gemerkt, dass der Controller im selben Thread läuft wie die GUI selber und sich alles aufhängt bei zeitintensiven Aufgaben.

Habe mich dann direkt in das Thema eingelesen und bin vermutlich jetzt noch verwirrter als davor. Anscheinend gibt es zich Wege, mindestens 5 (vermutlich waren es nur 1-3 nur in verschiedenen Schreibweisen), wie man einen Thread richtig einbaut (habe nie vorher mit Threads gearbeitet).

Kann mich eventuell einer Aufklären wie ich folgendes realisieren kann (auf GUI Basis, Google ist nur die zeitaufwändige nebensächliche Tätigkeit)?:
Ich habe eine GUI mit einem Label, einem Input und einem Button. Wenn ich auf den Button klicke, dann soll der Button deaktiviert werden & beim Label "Bitte warten ..." stehen. Danach soll das Input ausgelesen werden und demnach gegoogelt werden. Der erste Titel von Google soll dann ins Label gekloppt werden und der Button wieder aktiviert werden.

Alles schön und gut. Wenn ich es mit diesem runLater mache, dann brauche ich pro live Aktualisierung jedes Mal ~5 Zeilen Code, nur damit da steht "Bitte warten ..." und/oder der Button deaktiviert wird (hierzu gleich mehr). Oder ich mache es über einen Task, den ich dann an z.B NUR ans Label binde (oder habe ich da was falsch verstanden?) und kann dann über updateMessage nur dieses Label aktualisieren. Somit wird der Button erst am Ende meiner Tätigkeit deaktiviert und danach sofort wieder aktiviert.

Nächstes witziges Szenario: runLater ...
Wenn ich z.B. einen Countdown habe, müsste ich dieses runLater jedes Mal erneut ausführen, wenn ich die Zahl höher setze um diese direkt zu sehen. Also gar nicht mal so toll.

Viel Geschreibe, wenig Sinn ... könnte sich jemand eventuell die Zeit nehmen das Thema schön ausführlich mit vollständigen Beispielen (durch Google habe ich nie was Vollständiges gefunden was es richtig erklärt) zu erklären? Ich bin mir sicher, dass ich nicht der Einzige bin, der solche Probleme damit hat.

Ich bin für eure Hilfe sehr dankbar.

MfG
tr33


PS: das Beispiel mit Google kann man durch einen Zähler ersetzen der dann z.B. je nachdem welche Zahl eingegeben hat hoch zählt. Mir ist es hierbei jedoch wichtig, dass ich nicht nur Texte aktuelleren kann, sondern auch z.B. einen Button de/aktivieren kann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Strukturierung und Organisation von umfangreiche Controller AWT, Swing, JavaFX & SWT 1
R Fxml findet controller nicht AWT, Swing, JavaFX & SWT 2
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
sserio Wie funktioniert ein Controller bei JavaFx? AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
I JavaFX - Pane wechseln über 2. Controller AWT, Swing, JavaFX & SWT 5
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
M4cM4rco0707 JavaFX Custom-Komponente mit Custom-Controller AWT, Swing, JavaFX & SWT 3
W Daten von Controller zu Controller übertragen AWT, Swing, JavaFX & SWT 7
J Saubere Trennung Model, View, Controller Javafx AWT, Swing, JavaFX & SWT 10
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
OSchriever Auf Stage von FXML-Controller zugreifen AWT, Swing, JavaFX & SWT 12
J JavaFX JavaFX Splitpane - Zugriff auf die Controller der Elemente AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
J Injection - Aber Controller sind null AWT, Swing, JavaFX & SWT 3
J Controller ist null - Warum AWT, Swing, JavaFX & SWT 3
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
L Javafx Controller Klasse in Maven AWT, Swing, JavaFX & SWT 7
M NullPointerException / Controller AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX Daten zwischen Controller "austauschen" AWT, Swing, JavaFX & SWT 65
ralfb1105 JavaFX Exception Message von Model Class via Controller in View darstellen AWT, Swing, JavaFX & SWT 39
R JavaFX Übergabe von Parametern an Controller AWT, Swing, JavaFX & SWT 7
J Controller wird zu groß, was tun ? AWT, Swing, JavaFX & SWT 5
MiMa GUI Controller für Border Pane als MVC Modell AWT, Swing, JavaFX & SWT 1
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 29
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 0
F JavaFX ListView füllen in Controller Class AWT, Swing, JavaFX & SWT 12
L JavaFX Zugriff auf HostServices im FXML Controller AWT, Swing, JavaFX & SWT 1
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
L Wie realisiere ich einen Controller AWT, Swing, JavaFX & SWT 1
M Java FX SceneBuilder 2.0, FXML, Controller AWT, Swing, JavaFX & SWT 1
I JavaFX Im Controller die ProgressBar mit Task updaten AWT, Swing, JavaFX & SWT 6
A JavaFX Von Klasse auf Controller Inhalt zugreifen AWT, Swing, JavaFX & SWT 9
KrokoDiehl JavaFX Gleiche Controller-Instanz für inludiertes FXML AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Class saveFile AWT, Swing, JavaFX & SWT 2
X JavaFX getScene().getWindow() im JavaFX Controller AWT, Swing, JavaFX & SWT 1
D JavaFX Gesetzte Variable in einem Controller im Controller laden AWT, Swing, JavaFX & SWT 1
L JavaFX Verständnisfrage zu JavaFX FXML und Controller-Klasse AWT, Swing, JavaFX & SWT 1
K Kann nicht auf GUI Elemente zugreifen, mit einer Methode im Controller klappts, mit der anderen nich AWT, Swing, JavaFX & SWT 10
Z JAVAFX Stage über Controller weitergeben um css-file zu laden AWT, Swing, JavaFX & SWT 4
D JavaFX Controller Klasse splitten? AWT, Swing, JavaFX & SWT 16
F JavaFX Zugriff auf Controller Methode von einer normalen Klasse aus AWT, Swing, JavaFX & SWT 4
C JavaFX Controller class AWT, Swing, JavaFX & SWT 2
M Java FX Daten an Controller übergeben AWT, Swing, JavaFX & SWT 3
D JavaFX Zugriff auf Controller erlangen AWT, Swing, JavaFX & SWT 4
W JavaFX Label in Controller-Klasse in einer anderen Controller-Klasse ändern AWT, Swing, JavaFX & SWT 9
B mouseOnEntered ( Controller richtig implementieren) AWT, Swing, JavaFX & SWT 4
S View-Komponenten im Controller bekannt machen AWT, Swing, JavaFX & SWT 7
G Swing MVC / View - Controller AWT, Swing, JavaFX & SWT 7
R Model View Controller Konzept AWT, Swing, JavaFX & SWT 2
F Element anzeigen / erstellen. Maus vs Controller AWT, Swing, JavaFX & SWT 7
J Swing MVC mit Java Swing, insbesondere die Controller-Struktur AWT, Swing, JavaFX & SWT 4
A Controller für RCP AWT, Swing, JavaFX & SWT 2
J Swing Controller im MVC-Pattern AWT, Swing, JavaFX & SWT 9
M Swing Von einem Controller aus View-Elemente ändern AWT, Swing, JavaFX & SWT 11
D Design - View & Controller AWT, Swing, JavaFX & SWT 2
R Checkboxen - Event mit Controller abfangen AWT, Swing, JavaFX & SWT 7
P Verbindung View und Controller AWT, Swing, JavaFX & SWT 3
F MVC --> was ist der Controller? AWT, Swing, JavaFX & SWT 2
F MVC: Update von View und Controller AWT, Swing, JavaFX & SWT 5
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
C Model View Controller - Beispielimplementation AWT, Swing, JavaFX & SWT 5
M SWT und Model View Controller? AWT, Swing, JavaFX & SWT 8
H Swing Jtable extra spalte AWT, Swing, JavaFX & SWT 6
I JAVA 8, JAVAFX und Eclipse – muss Eclipse extra eingerichtet werden? AWT, Swing, JavaFX & SWT 9
gamillton Swing JComboBox mit extra Inhalt + breiteres Popupmenü AWT, Swing, JavaFX & SWT 0
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
X Swing Panel Extra Klasse & Aufruf über Button AWT, Swing, JavaFX & SWT 18
J JTabbedPane Komponente in extra Fenster anzeigen AWT, Swing, JavaFX & SWT 2
M Transparentes gif als extra Klasse auf einen JFrame zeichen AWT, Swing, JavaFX & SWT 17
G LookAndFeel in extra Fenster einstellbar AWT, Swing, JavaFX & SWT 2
P thread nimmt veränderte boolean nicht AWT, Swing, JavaFX & SWT 7
N JFrame loescht alles, sobald der Thread zuende ist AWT, Swing, JavaFX & SWT 22
M Server/Client thread von GUI Trennen AWT, Swing, JavaFX & SWT 2
K JavaFx, Sound Aufnahme und Thread AWT, Swing, JavaFX & SWT 0
T Exception in thread "main" java.lang.NoClassDefFoundError AWT, Swing, JavaFX & SWT 4
G Exception javafx Thread -> caused by removing children while in EventHandler AWT, Swing, JavaFX & SWT 28
H Event Handling Thread - Abruf der get-Methode AWT, Swing, JavaFX & SWT 5
J "Exception in thread "AWT-EventQueue-0"" Fehler AWT, Swing, JavaFX & SWT 3
G Thread starten Swing AWT, Swing, JavaFX & SWT 5
C Thread verwalten AWT, Swing, JavaFX & SWT 2
A Swing Exception in thread "AWT-EventQueue-0" AWT, Swing, JavaFX & SWT 1
S JavaFX Exception in thread "JavaFX Application Thread" AWT, Swing, JavaFX & SWT 3
L Label im JavaFX Thread Updaten AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Alert Confirmation Dialog aus einem Service Thread AWT, Swing, JavaFX & SWT 8
ralfb1105 JavaFX MVC: Thread in Model Class mit Ausgabe in TextArea AWT, Swing, JavaFX & SWT 10
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
J Thread per Button starten AWT, Swing, JavaFX & SWT 10
J Thread kennt JButton nicht. AWT, Swing, JavaFX & SWT 11
T JavaFX Task / Thread / FXThread Komplikationen AWT, Swing, JavaFX & SWT 5
O Swing Event Dispatch Thread AWT, Swing, JavaFX & SWT 1
L JavaFX UI Thread block AWT, Swing, JavaFX & SWT 13
X Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 AWT, Swing, JavaFX & SWT 6
sandaime Swing Thread für CMD auslesen AWT, Swing, JavaFX & SWT 16
E JavaFX JavaFX Application in Thread ausführen AWT, Swing, JavaFX & SWT 1
D JavaFX UI-Thread und DB-Thread trennen um z.B. Ladebalken anzuzeigen AWT, Swing, JavaFX & SWT 15
T Swing 2 Thread.sleep parallel laufen lassen AWT, Swing, JavaFX & SWT 4
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0

Ähnliche Java Themen

Neue Themen


Oben