相关疑难解决方法(0)

JavaFX:FXML:如何让孩子扩展其大小以适应父窗格?

我已设法在父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.

在此输入图像描述

java javafx-2 fxml

21
推荐指数
2
解决办法
6万
查看次数

在ImageView中居中图像

我目前正在尝试使用JavaFX将图像置于ImageView中心.

所以我在视图中加载图像:

Image img = new Image("...");
imageView.setImage(img);
Run Code Online (Sandbox Code Playgroud)

让我们假设图像很大(2000x3000)而不是ImageView(400x100)

渲染的图像将在左侧对齐,我想放在ImageView的中心:

在此输入图像描述

无论如何要执行此操作?

imageview javafx-8

5
推荐指数
2
解决办法
1万
查看次数

如何在JavaFX中调整窗口大小时调整图像大小

我想在用户拖动主窗口时自动调整图像大小.那可能吗?

我有以下代码设置一定大小的窗口.它还从外部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)

java eclipse autoresize

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×2

autoresize ×1

eclipse ×1

fxml ×1

imageview ×1

javafx-2 ×1

javafx-8 ×1