如何通过FXML更改JavaFX中的场景属性

时间:2016-12-03 09:06:13

标签: java javafx fxml

任务是更改外观:单击按钮时,向窗口添加更多元素。似乎我可以在没有FXML的情况下处理这个问题(参见下面的代码),但我真的很喜欢FXML技术并且想要使用它。

请问您如何在FXML中翻译此代码以获得相同的结果?

public class TestChangeWindow extends Application implements EventHandler<ActionEvent> {
    Stage mWindow;
    Button button;
    ArrayList<Button> buttons = new ArrayList<>();
    VBox layout;
    Scene scene;

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

    @Override
    public void start(Stage primaryStage) throws Exception {
        mWindow = primaryStage;
        mWindow.setTitle("Some title");

        button = new Button("Add button above");
        button.setOnAction(this);
        layout = new VBox(10);
        layout.getChildren().add(button);

        scene = new Scene(layout, 300, 300);

        mWindow.setScene(scene);
        mWindow.show();
    }

    public void handle(ActionEvent e) {
        buttons.add(new Button("Clone"));
        layout = new VBox(10);

        for (Button buttonsFTL : buttons) {
            layout.getChildren().add(buttonsFTL);
        }
        layout.getChildren().add(button);
        scene = new Scene(layout, 300, 300);
        mWindow.setScene(scene);
        mWindow.show();
    }
}

0 个答案:

没有答案