JavaFx对SwingUtilities.invokeLater的响应

时间:2012-10-20 00:55:19

标签: java swing javafx event-dispatch-thread mixing

所以我知道JavaFx在使用线程时更新GUI的方法称为Task,但代码的工作方式是否相似或存在差异。让我举个例子:

GUI之外的另一个以线程形式运行的类

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

在实际的GUI中

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

任务的工作方式是否完全相同?或者是否存在差异,是否有如何修改此代码以在JavaFx项目中工作?

1 个答案:

答案 0 :(得分:16)

您是否正在寻找JavaFX中的SwingUtil.invokeLater对应物。如果是,那就是:

Platform.runLater(java.lang.Runnable runnable)