JavaFx response to SwingUtilities.invokeLater

Marc Rasmussen picture Marc Rasmussen · Oct 20, 2012 · Viewed 10k times · Source

So I am aware that JavaFx's method of updating the GUI while using a thread is called Task but does the code work in similar way or are there any differences. let me give you a swing example:

Another class outside the GUI that runs as a thread

public void run(){
    while (socket.isConnected()) {
        String x = input.next();
        System.out.println(x);
        mg.updateChat(x)
    }
}

Inside the actual GUI

public void updateChat(final String input){
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            txtChat.setText(input); 
        }
    }); 
}

Does Task work the exact same way? Or are there differences and if there are how would you modify this code to work in a JavaFx project?

Answer

amru picture amru · Oct 20, 2012

Are you looking for SwingUtil.invokeLater counterparts in JavaFX. If yes, it is:

Platform.runLater(java.lang.Runnable runnable)