8
所以我知道JavaFx在使用線程時更新GUI的方法稱爲Task,但代碼的工作方式與此類似,或者存在任何差異。讓我給你擺例如:對SwingUtilities.invokeLater的JavaFx響應
運行的線程
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);
}
});
}
不工作的GUI之外的另一類工作完全一樣辦法?或者是否存在差異,以及如何修改此代碼以在JavaFx項目中工作?
它是否以完全相同的方式工作? –
據我瞭解[api](http://docs.oracle.com/javafx/2/api/javafx/application/Platform.html),是的。我使用它來更新多線程環境中的javafx ui控件,就像我使用Swing控件的SwingUtilities.invokeLater一樣。 – amru
這裏沒有運氣,我的UI在執行runLater時凍結。 –