Мой вопрос довольно прост (я просто развлекательный кодер, играющий с вещами).Я установил соединение с API, и с помощью магии RxJava я могу подписаться на данные json, передаваемые API.Я также создал очень простой графический интерфейс с использованием FXML.
Как сделать так, чтобы текст в TextArea = textAreaA обновлялся каждый раз, когда событие отправляется по подписке?Иными словами, как мне заставить TextArea отображать канал API?
Я прочитал руководство RxJavaFx от обложки до обложки, и оно, кажется, больше фокусируется на направленном потоке событий от Fx к Rx: (
Вот пример моего кода:
public class Tester extends Application{
private static final Logger LOG = LoggerFactory.getLogger(Tester.class);
public static void main(String[] args) throws IOException, InterruptedException{
launch(args);
}
public void start (Stage primaryStage) throws Exception {
FXMLLoader loader = new FXMLLoader(getClass().getResource("sample.fxml"));
Parent root = loader.load();
primaryStage.setTitle("App Window");
primaryStage.setScene(new Scene(root, 300, 275));
primaryStage.show();
TESTER_API.TESTER_API_Connector();
}
}
public class TESTER_API {
public static void TESTER_API_Connector() throws IOException, InterruptedException {
StreamingEvents emissions = StreamingEventsFactory.INSTANCE.createEvents(TheseStreamingEvents.class.getName());
emissions.connect().blockingAwait();
emissions.getEvents().getSomethingSpecific()
.subscribe(event -> System.out.println(event.getSomethingSpecific()) // Here is the event that I would like to bind or otherwise push to textAreaA in the FXML controller
,throwable -> new Exception("GUI error!"));
}
}
public class FXMLDocumentController implements Initializable {
@FXML
public TextArea textAreaA;
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
}
}