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;

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

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
23 апр. 2024, в 19:05
15000 руб./за проект
23 апр. 2024, в 19:01
7000 руб./за проект
23 апр. 2024, в 18:47
10000 руб./за проект