首页 文章

JavaFX textarea不显示更改的值

提问于
浏览
0

大家好,我正在使用带有NetBeans版本8和SceneBuilder 2.2的jdk 1.8 . 我有Main.fxml和MainController文件,底部有2个标签和一个TextArea,可以打印出状态信息 .

Login.fxml是一个标签,我通过include在scenebuilder中附加到Main.fxml的第一个标签 . 它有自己的控制器和一个按钮,需要将信息打印到MainController中的TextArea . 我可以使用FXMLLoader访问TextArea并更改值,但它不会在UI中更新 . 假设@FXML LogID是MainController中的TextArea,这是LoginController中的代码:

@FXML private Button btn;

@Override
public void initialize(URL url, ResourceBundle rb) {

    btn.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {
            try {
                FXMLLoader fxmlLoader = new FXMLLoader();
                fxmlLoader.setLocation(getClass().getResource("Main.fxml"));
                AnchorPane pane = fxmlLoader.load();
                MainController control = (MainController) fxmlLoader.getController();

                new Thread(new Runnable() {

                    @Override
                    public void run() {
                        Platform.runLater(new Runnable() {

                            @Override
                            public void run() {
                                control.LogID.appendText("Hello");
                                System.out.println(control.LogID.getText()); 
                                //prints "hello" in console but not the ui
                            }
                        });
                    }
                }).start();
            } catch (IOException ex) {
                Logger.getLogger(LoginController.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    });
}

任何帮助将不胜感激 .

1 回答

  • 0

    经过大约一周的尝试,我可以想出一个不同的解决方案 . 这将在不使用FXMLLoader()的情况下更新它;

    我所做的只是给Login.fxml anchorpane一个fx:id并保持打印getParent()到控制台,直到我得到root ... @FXML AnchorPane paneID; //在LoginController.java中

    //在platform.runLater中我运行了底部代码

    TextArea area =(TextArea)paneID.getParent() . getParent() . getParent() . lookup(“#LogID”); area.appendText( “你好\ n”);

    第一个getParent是标签内容区域

    第二个tabpane

    第三个主要的锚板

相关问题