JavaFX文本不会出现在TextField或TextArea中

时间:2017-05-25 18:20:22

标签: java javafx textarea textfield

我有一个程序,它使用一个表单来添加和显示一个对象。我可以使用表单来添加对象,但是当我尝试在此后的表单中显示相同的对象时,不会出现任何文本。该对象肯定是正确添加的,我可以打印出所有元素,所以没有任何内容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:

<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="testpack.TestApp">

    <children>
      <AnchorPane layoutX="76.0" layoutY="70.0" prefHeight="243.0" prefWidth="309.0">
         <children>
            <TextField fx:id="txtField" layoutX="45.0" layoutY="40.0" promptText="TextField" AnchorPane.leftAnchor="45.0" AnchorPane.topAnchor="40.0" />
            <TextArea fx:id="txtArea" layoutX="45.0" layoutY="81.0" prefHeight="138.0" prefWidth="149.0" promptText="TextArea" AnchorPane.leftAnchor="45.0" AnchorPane.topAnchor="81.0" />
            <Button fx:id="btnTest" layoutX="217.0" layoutY="109.0" mnemonicParsing="false" onAction="#handleButton" text="Button" AnchorPane.bottomAnchor="109.0" AnchorPane.rightAnchor="40.0" />
         </children>
      </AnchorPane>
   </children>
</AnchorPane>

此处和实际程序中的代码编译时没有错误。 我以前看过这个问题的版本,但没有一个解决方案适合我,所以我想我会开始一个新的主题。

0 个答案:

没有答案