내가 뭘 하려는지 버튼을 클릭 한 후에도 실시간으로 텍스트 영역에 텍스트를 인쇄하는 것입니다. 청취자가 JavaFX에서 멈추지 않고 실행되도록하는 방법은 무엇입니까?
버튼을 클릭하면 작업이 끝날 때까지 UI가 멈추고 그 후에 은 System.out.println과 달리 모든 텍스트를 함께 인쇄합니다.
아래 코드는 내가 시도한 것으로 예상 한대로 작동하지 않습니다. UI가 멈추고 텍스트 영역에 '테스트'가 표시되지 않습니다.
청취자를 사용할 필요가 없으며 appendText 만 사용하는 것이 좋습니다. 하지만 UI의 동결없이 버튼의 ActionEvent가 작동하게하는 방법을 알 수 없습니다.
나는 정말로 당신의 도움이나 훨씬 더 좋은 코드를 주셔서 감사합니다 !!
final TextField announcement = new TextField();
Platform.runLater(new Runnable() {
@Override public void run() {
announcement.textProperty().addListener(new javafx.beans.value.ChangeListener<String>() {
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
textoutput.appendText(announcement.getText());
}
});
}
});
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
announcement.setText("test");
// bunch of codes below
}
});
새 스레드에서 Button의 액션에서 무엇을 하든지 실행해야합니다. 이를 달성하기 위해'JavaFX Task'를 사용할 수 있습니다. – ItachiUchiha
@ItachiUchiha 가능한 경우 나에게 예제를 제공해 주시겠습니까? 고맙습니다. – Keibee