JavaFX Threads

ZebaX

Mitglied
Hallo,

ich habe ein Problem mit dem Threading in JavaFx.
ich würde gern ein Thread starten der außerhalb des JavaFX Threads laufen soll dieser hat auch keinen direkten Einfluss auf die UI.

Java:
class klasse implements Runnable{

   public void startReading(){
      new Thread(this).start();
   }

   public void run(){
       code.....
   }
}

die soll aus einer anderen klasse herraus geschehen ich habs mit platform.runlater versucht aber da wird der Thread irgendwie auch nicht gestartet....
 

dzim

Top Contributor
Häh???

kA, was du falsch machst, aber bei mir klappt es so immer hervorragend:
Java:
Thread t = new Thread(new Runnable() {
  public void run() {
    // do something in another thread
    Platform.runLater(new Runnable() {
      // update the UI here
    });
  }
});
t.start();

Dieser Bsp-Code ist jetzt vielleicht hässlich, aber er soll ja nur veranschaulichen, was ich meine...

PS: Dein Code-Konstrukt finde ich reichlich strange! o_O Wenn schon, dann extende in dem Fall die Klasse Thread und dann kannst du es von aussen per
Code:
new MyThreadImpl().start();
starten... aber die innere Geschichte... Da graust es mir...
 

ZebaX

Mitglied
Danke für die Antwort.

extends Thread ist nicht notwendig weis auch nicht wo der code anstrengend sein soll o_O
man könnte sich sicherlich die startReading methode spare und direkt mit new Thread(new klasse()).start(); von irgendwo starten aber wie dem auch sei...


Hab jetzt in einer zweiten klasse es so gelöst
Java:
Platform.runlater(new Runnable(){
    public void run(){
       klasse.startReading();
    }
});

an und für sich funktioniert das auf nem Windows Rechner. Aber aufm Raspberry mit nem Debian startet er anscheinend den Thread nicht...
 

dzim

Top Contributor
also ich empfehle dir mal, diesem Typen hier zu folgen: JavaFX News, Demos and Insight // FX Experience
Da habe ich vor kurzen auch mal was über die Gefahren von Platform#runLater() gelesen (musst ein bisschen Scrollen).

Generell aber hast mich falsch verstanden: Wenn du es so rum machst wie du (dein Thread innerhalb des Platform#runLater()) wird er auf dem UI-Thread ausgeführt. Anders rum wird ein Schuh draus: Starte irgendwo deinen Thread, der seine Arbeit tut und wenn dieser irgendwann einmal etwas zurück an die UI geben muss, dann rufst dort drin (in diesem Thread!!!!!!!!!!!!) das Platform#runLater() auf. Nicht anders herum.

Ich hab keinen RasPi zum testen da, aber Java sollte sich diesbezüglich nicht anders verhalten.

Was deinen Code betrifft. Ich finde es einfach schräg, dass du es innerhalb der Klasseninstanz (der Runnable) selbst machst! Grundsätzlich ist der Code ok, nur ich würde es - wenn überhaupt - halt static machen:

Java:
   public static void startReading(){
      new Thread(new Klasse()).start();
   }

   // und/oder

   public static void startReading(Klasse instance){
      new Thread(instance).start();
   }

Ich selbst mache meist entweder eine separate oder innere Klasse für den Task und rufe an der Stelle halt selbst
Code:
Thread t = new Thread(new MyOwnRunnableClass([...])); t.start();
. Welche der Varianten nun die "sauberste" ist, darübr möchte ich gar nicht mit dir streiten! ;-)
 

ZebaX

Mitglied
Ok ich weis net wieso aber jetzt funktioniert es ohne runlater etc einfach nur Thread gestartet, lag wohl der fehler an einer anderen stelle :oops:trotzdem danke und ja auch wieder was dazu gelernt :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
frager2345 Threads -> Ereignisbehandlung AWT, Swing, JavaFX & SWT 2
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
J GUI Ausgaben aus Threads AWT, Swing, JavaFX & SWT 13
A Swing ProgressBar über 2 parallel laufende Threads AWT, Swing, JavaFX & SWT 2
N JavaFX Logging des JavaFX Application Threads mit Log4J AWT, Swing, JavaFX & SWT 3
U JAVAFX observer und threads AWT, Swing, JavaFX & SWT 1
J Textlabel verändern mit parallelen Threads AWT, Swing, JavaFX & SWT 7
Sugan Inhalte mit Threads ändern -> java.lang.IllegalStateException AWT, Swing, JavaFX & SWT 6
R Straßenkreuzung - Ampeln mit Threads koordinieren AWT, Swing, JavaFX & SWT 5
C Threads Swing AWT, Swing, JavaFX & SWT 11
T hallo, habe ein Problem mit dem pro. eines Threads AWT, Swing, JavaFX & SWT 4
M Threads - nicht erklärbare Exception AWT, Swing, JavaFX & SWT 6
R Repaint() in Schleifen, Threads AWT, Swing, JavaFX & SWT 13
S Java Swing GUI mit MVC und Threads AWT, Swing, JavaFX & SWT 6
M Frage zu Threads AWT, Swing, JavaFX & SWT 3
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
K Threads - Timer - run() mehrfach parallel? AWT, Swing, JavaFX & SWT 2
B GUI mit Threads aufbauen AWT, Swing, JavaFX & SWT 5
E Threads Ausgaben in GUI anzeigen lassen AWT, Swing, JavaFX & SWT 14
P JavaFX 2 (2.1 Beta) Threads AWT, Swing, JavaFX & SWT 7
B Threads in Swing AWT, Swing, JavaFX & SWT 4
M Problem mit Threads AWT, Swing, JavaFX & SWT 64
R Swing Java Swing Gui und nebenläufige Threads AWT, Swing, JavaFX & SWT 4
S Swing Threads Windows 7 64 bit AWT, Swing, JavaFX & SWT 12
J Threads + JFrame AWT, Swing, JavaFX & SWT 4
R Java threads und synchronized AWT, Swing, JavaFX & SWT 15
R Swing Swing und die Threads AWT, Swing, JavaFX & SWT 9
N Swing Threads sollen Tabtitel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 4
S Gui und Aufgaben Threads AWT, Swing, JavaFX & SWT 12
M Zugriff paralleler Threads auf selbes JTextPane AWT, Swing, JavaFX & SWT 6
B Frage zu Swing,Threads, SwingWorker und Socket Communikation AWT, Swing, JavaFX & SWT 4
M Prioritäten bei SwingWorker / Threads AWT, Swing, JavaFX & SWT 9
B Swing GUI und Threads AWT, Swing, JavaFX & SWT 4
R Korrektes manipulieren der GUI aus anderen Threads heraus AWT, Swing, JavaFX & SWT 19
S Threads und Layout AWT, Swing, JavaFX & SWT 9
S Threads in einen Frame zeichnen lassen (Paint()?!) AWT, Swing, JavaFX & SWT 5
W GUI in mehreren Threads AWT, Swing, JavaFX & SWT 5
F Swing Anfängerproblem Threads AWT, Swing, JavaFX & SWT 6
S Swing Threads und das Ändern des Hintergrundes ... AWT, Swing, JavaFX & SWT 2
S Zeichnen in Threads AWT, Swing, JavaFX & SWT 4
T Auf Ende von mehreren Threads warten, ohne den EDT zu blockieren AWT, Swing, JavaFX & SWT 1
J SWT SWT und Threads AWT, Swing, JavaFX & SWT 5
borobudur SWT SWT-Framework und Threads AWT, Swing, JavaFX & SWT 12
W Threads nacheinander aufführen AWT, Swing, JavaFX & SWT 5
A Swing und Threads AWT, Swing, JavaFX & SWT 8
B JProgressbar wird nicht aktualisert, trotz Threads AWT, Swing, JavaFX & SWT 6
K Timer und Threads ruckeln für Fotoschwenk AWT, Swing, JavaFX & SWT 3
S JProgressBar und Threads AWT, Swing, JavaFX & SWT 11
G Probleme mit jList und Threads. AWT, Swing, JavaFX & SWT 3
R Swing & Threads AWT, Swing, JavaFX & SWT 4
R 2 Threads nacheinander. Einer terminiert, der andere nicht. AWT, Swing, JavaFX & SWT 9
J Unterschied zwischen SwingWorker und Threads AWT, Swing, JavaFX & SWT 4
P Threads und Swing bzw. AWT AWT, Swing, JavaFX & SWT 15
W Threads und trotzdem keine Nebenläufigkeit AWT, Swing, JavaFX & SWT 13
G Fenster erst nach Stoppen des Threads anzeigen AWT, Swing, JavaFX & SWT 3
N Threads kein neues Fenster erzeugen lassen AWT, Swing, JavaFX & SWT 4
G problem mit threads/repaint ! AWT, Swing, JavaFX & SWT 2
W Swing, 2 JProgressbars und threads geht das? AWT, Swing, JavaFX & SWT 2
A JTextArea und Threads AWT, Swing, JavaFX & SWT 9
B Probleme mit GUI und Threads AWT, Swing, JavaFX & SWT 17
E repaint(), EDT-Warteschlange und Threads AWT, Swing, JavaFX & SWT 26
S Threads in Java AWT, Swing, JavaFX & SWT 22
G AWT + Threads = nicht gut :P AWT, Swing, JavaFX & SWT 6
F Verständis Problem zu Threads AWT, Swing, JavaFX & SWT 2
M Swinganwendung Threads mit JProgressBar AWT, Swing, JavaFX & SWT 7
V Problem mit Aktualisieren von JList mit Threads AWT, Swing, JavaFX & SWT 3
U FileChooser Layout - Threads? AWT, Swing, JavaFX & SWT 17
R JProgressBar ohne Threads verwenden AWT, Swing, JavaFX & SWT 6
I JList, AbstractListModel und nebenläufige Threads AWT, Swing, JavaFX & SWT 2
S "Millionen" von Threads? Programm komplett beenden AWT, Swing, JavaFX & SWT 2
M Konsolenprg-Ausgabe in GUI geleitet - Brauche ich Threads? AWT, Swing, JavaFX & SWT 2
K Swing und Threads AWT, Swing, JavaFX & SWT 11
M Threads in Swing? AWT, Swing, JavaFX & SWT 2
C Schweres Problem mit JDialog und Threads! Anzeige blockiert! AWT, Swing, JavaFX & SWT 5
N Netzwerk-Applikation, SWT und Threads AWT, Swing, JavaFX & SWT 4
R createBufferStrategy() und Threads AWT, Swing, JavaFX & SWT 5
D Threads unter JFrame AWT, Swing, JavaFX & SWT 2
G Nochmal Threads und Einfrieren des GUI :( AWT, Swing, JavaFX & SWT 10
V Swing & Threads ??? AWT, Swing, JavaFX & SWT 3
D Problem mit JProgressBar und Threads AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben