AlexeyChizhov
@AlexeyChizhov

Как правильно организовать передачу события из отдельного потока в GUI на JavaFx?

У меня есть MainController и класс UDPServer, который крутится в отдельном потоке и ждет сообщения, когда сообщение приходит, мне нужно отобразить его на GUI. Как правильно организовать такое взаимодействие?

public class UDPServer implements Runnable {

    // ...

    @Override
    public void run() {

        // ...

        if(message.equals("N1-M")){

            // пришло сообщение и нужно отобразить его в GUI
            // в моем случае отобразить значит изменить цвет vRectangle            
        }

        // ...
    }
}


public class MainController {

    // ...

    @FXML Rectangle vRectangle;

    // ...
}
  • Вопрос задан
  • 934 просмотра
Пригласить эксперта
Ответы на вопрос 1
programmerjava
@programmerjava
Когда нужно выполнить какие -то действия в потоке JavaFx, то нужно вызвать Platform.runLater(Runnable r). Т.е. в аргументе указываешь действие, которое потом выполнится. Действие неблокирующее и асинхронное. Подождать окончания этого действия -- уже сложнее задача и совсем другая.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы