我已经在JavaFX上苦苦挣扎了两天,我有一个场景我应该在我的屏幕上显示,但我有一个问题,当我在SceneBuilder中运行下面的代码时,代码似乎很完美,一切似乎都到位,甚至使用Preview Window
选项它可以工作但是当我运行我的代码时弹出一个问题,舞台似乎5+
的宽度比场景更大,因此我得到的布局有一种右侧是白色区域,这是我的代码
当我运行代码时,第一张图片显示布局结果,Asphalt图层是我的场景,你可以在我的布局的最右端看到白色图层,然后在第二张图片中在Scene Builder中测试一切似乎都好,我的沥青层填满了一切。
<AnchorPane minHeight="600.0" minWidth="1000.0"
xmlns="http://javafx.com/javafx/8.0.40"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainViewController">
<children>
<StackPane minHeight="600.0" minWidth="1000.0">
<children>
<BorderPane minHeight="600.0" minWidth="1000.0" style="-fx-background-color: #ecf0f1;">
</BorderPane>
</children>
</StackPane>
和我用于扩充fxml文件的java代码
Stage primaryStage = new Stage();
primaryStage.setTitle("");
FXMLLoader loader = new FXMLLoader(getClass().getResource("/application/mainWindow.fxml"));
Region root = (Region) loader.load();
Scene scene = new Scene(root);
primaryStage.setTitle("");
primaryStage.setScene(scene);
primaryStage.setResizable(false);
primaryStage.centerOnScreen();
primaryStage.show();
primaryStage.setScene(scene);
primaryStage.toFront();
// Set minimum size based on client area's minimum sizes
// Set minimum size based on client area's minimum sizes
Stage loginStage = (Stage) (this.scene.getWindow());
primaryStage.setMinWidth(primaryStage.getWidth());
primaryStage.setMinHeight(primaryStage.getHeight());
primaryStage.show();
loginStage.close();
答案 0 :(得分:0)
我在这段代码中没有看到任何错误,但是设置舞台的最小尺寸可能会导致这个问题,无论如何它都是无用的,因为舞台会使用场景的大小。如果这不起作用,请尝试设置Anchorpane的最大大小或场景构造函数中的大小以及第一个解决方案。 (顺便说一句,我不会使用Region作为根容器,Parent或容器名称是更典型的解决方案)
编辑:控制器的代码在哪里?它有什么用吗?
答案 1 :(得分:0)
似乎.eslintrc
是问题,我不知道为什么但是在删除它并将子AnchorPane
设置为父级后,所有内容都已排序。
答案 2 :(得分:0)
这是Windows上不可调整大小的阶段的错误 - 见http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8089008