Tak więc zdaję sobie sprawę, że metoda aktualizacji GUI JavaFxa podczas korzystania z wątku nazywa się Zadanie, ale czy kod działa w podobny sposób, czy istnieją jakieś różnice. podam wam przykład SwingOdpowiedź JavaFx na SwingUtilities.invokeLater
Inna klasa poza GUI, który działa jako wątek
public void run(){
while (socket.isConnected()) {
String x = input.next();
System.out.println(x);
mg.updateChat(x)
}
}
Wewnątrz rzeczywistej GUI
public void updateChat(final String input){
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
txtChat.setText(input);
}
});
}
Does Task pracować dokładnie to samo droga? Czy istnieją różnice i czy jest jak zmodyfikować ten kod do pracy w projekcie JavaFx?
Czy działa dokładnie w ten sam sposób? –
O ile mogę zrozumieć [api] (http://docs.oracle.com/javafx/2/api/javafx/application/Platform.html), tak. Używam go do aktualizowania kontrolek javafx ui w środowisku wielowątkowym, tak samo jak używam SwingUtilities.invokeLater dla kontrolek Swing. – amru
Brak szczęścia tutaj, mój interfejs użytkownika zawiesza się, gdy robię runLater. –