我正在尝试做的是即使在单击按钮后也实时在 textarea 上打印文本。
当我单击该按钮时,UI 会冻结,直到其工作完成,之后,它会与 System.out.println 不同,将所有文本一起打印。
下面的代码是我尝试过的,它没有按我的预期工作。UI 只是挂起,并没有在 textarea 上显示“测试”。
不需要使用监听器,只使用 appendText 也没关系,但我只是不知道如何让按钮的 ActionEvent 工作而不冻结 UI。
我将非常感谢您的任何帮助或更好的代码!
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
}
});