我已设法在父fxml(mainMenu UI)下加载子fxml(子UI).我创建了一个id为"mainContent"的AnchorPane.此窗格绑定到4个方面,并且更改符合舞台.
子窗口将加载到"mainContent"锚定窗格中.但是,我无法弄清楚如何让孩子与其父"mainContent"一起改变.
我的孩子UI就是这样调用的.
@FXML
private void mnuUserLevel_onClick(ActionEvent event) {
FXMLLoader loader = new FXMLLoader(getClass().getResource("DBedit.fxml"));
loader.setController(new DBeditEntityUserlevel());
try {
Node n = (Node)loader.load();
mainContent.getChildren().add(n);
} catch (IOException e){
System.out.println(e.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud)
为了进一步说明我的问题,请看我的快照.红场就是孩子.黄色方块是MainMenu父级的"mainContent"AnchorPane.

我目前正在尝试使用JavaFX将图像置于ImageView中心.
所以我在视图中加载图像:
Image img = new Image("...");
imageView.setImage(img);
Run Code Online (Sandbox Code Playgroud)
让我们假设图像很大(2000x3000)而不是ImageView(400x100)
渲染的图像将在左侧对齐,我想放在ImageView的中心:
无论如何要执行此操作?
我想在用户拖动主窗口时自动调整图像大小.那可能吗?
我有以下代码设置一定大小的窗口.它还从外部URL加载图像.
@Override
public void start(Stage primaryStage) {
MenuBar menuBar=new MenuBar();
Menu menuGame = new Menu("Game");
MenuItem newGame = new MenuItem("New Game F1");
MenuItem exit = new MenuItem("Exit F2");
exit.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
primaryStage.close();
}
});
menuGame.getItems().addAll(newGame,new SeparatorMenuItem(),exit);
menuBar.getMenus().addAll(menuGame);
Image image = new Image("http://docs.oracle.com/javafx/"
+ "javafx/images/javafx-documentation.png");
ImageView imageView = new ImageView();
imageView.setImage(image);
VBox vbox=new VBox();
StackPane root=new StackPane();
root.getChildren().addAll(imageView);
vbox.getChildren().addAll(menuBar,root);
Scene scene= new Scene(vbox,400,400);
primaryStage.setScene(scene);
primaryStage.setMaxHeight(800);
primaryStage.setMinHeight(400);
primaryStage.setMaxWidth(1000);
primaryStage.setMinWidth(800);
primaryStage.setTitle("Minesweeper");
primaryStage.show();
}
Run Code Online (Sandbox Code Playgroud)