我已经在JavaFX上苦苦挣扎了2天了,我应该在屏幕上显示一个场景,但是我有一个问题,当我在SceneBuilder中运行以下代码时,代码似乎完美了,即使使用选项有效,但是当我运行代码时,弹出一个问题,舞台的宽度似乎比场景大Preview Window,因此我得到的布局的右侧有白色区域,这是我的代码当我运行代码时,第一个图像显示布局结果,沥青层是我的场景,您可以在布局的最右端和下部看到白色层,但是在第二个图像中的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>和我的Java代码,用于扩展fxml文件 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(); (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 我没有看到这段代码中有什么真正的错误,但是设置舞台的最小大小可能会导致此问题,因为舞台使用了场景的大小,所以这毫无用处。如果这不起作用,除了第一个解决方案之外,还可以尝试设置Anchorpane的最大大小或场景构造函数中的大小。(顺便说一句,我不会将Region用作根容器,更典型的解决方案是使用Parent或容器名称)编辑:控制器的代码在哪里?它有什么作用吗?关于css - JavaFX无法正确设置布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34699711/ (adsbygoogle = window.adsbygoogle || []).push({});
10-09 16:20