JavaFX文本赢得';t出现在文本字段或文本区域中

JavaFX文本赢得';t出现在文本字段或文本区域中,java,javafx,textarea,textfield,Java,Javafx,Textarea,Textfield,我有一个程序,它使用一个表单来添加和显示一个对象。我可以使用表单添加一个对象,但是当我尝试在此之后在表单中显示相同的对象时,将不会显示任何文本。该对象确实添加正确,我可以打印出所有元素,因此没有任何内容是null。我想是我的.setText()行出错了。我创建了一个较小版本的程序,该程序仅尝试显示文本: public class TestApp extends Application { private Stage primaryStage; @FXML public Tex

我有一个程序,它使用一个表单来添加和显示一个对象。我可以使用表单添加一个对象,但是当我尝试在此之后在表单中显示相同的对象时,将不会显示任何文本。该对象确实添加正确,我可以打印出所有元素,因此没有任何内容是
null
。我想是我的
.setText()
行出错了。我创建了一个较小版本的程序,该程序仅尝试显示文本:

public class TestApp extends Application {

    private Stage primaryStage;

    @FXML public TextField txtField;
    @FXML public TextArea txtArea;
    @FXML public Button btnTest;

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        this.primaryStage = primaryStage;
        this.primaryStage.setTitle("Change Solutions");

        showWelcome();
    }

    public void showWelcome(){
        try{
            AnchorPane page = FXMLLoader.load(TestApp.class.getResource("testFXML.fxml"));
            page.setStyle("-fx-background: #FFFFFF;");
            Scene scene = new Scene(page);
            primaryStage.setScene(scene);
            primaryStage.setTitle("Welcome to Change Solutions");
            primaryStage.show();
        }catch (IOException i)
        {
            Logger.getLogger(TestApp.class.getName()).log(Level.SEVERE, null, i);
        }
    }

    public void addText(){
        txtArea.setText("test");
        txtField.setText("test");
        showWelcome();
    }

    public void handleButton(ActionEvent actionEvent) {
        addText();
    }
}
FXML:


代码,无论是在这里还是在实际的程序中,编译时都没有错误。
我以前见过这个问题的版本,但没有一个解决方案适合我,所以我想我应该开始一个新的线程。

在分配文本之前,您需要先加载fxml。否则,您的程序将尝试不为任何内容分配文本。@Eric FXML将加载到
showWelcome()
,它是从
start()
调用的。很抱歉,没有捕捉到这一点。你为什么要装两次?一次我启动,一次在addText?您的
addText()
方法调用
showWelcome()
,然后再次加载FXML并(尝试)将重新加载的FXML放入窗口。新加载的FXML在文本字段或文本区域中将没有任何文本。。。但是,这部分将不起作用,因为
primaryStage
在控制器中将为空。当我试着运行它时,我实际上在两个控件中都看到了文本“test”,然后我得到了一个空指针异常。使用
应用程序
类作为控制器类基本上是一个错误。看见