任务是更改外观:单击按钮时,向窗口添加更多元素。似乎我可以在没有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();
}
}