Javafx 如何在场景生成器中使窗口全屏/最大化?

Javafx 如何在场景生成器中使窗口全屏/最大化?,javafx,fxml,scenebuilder,Javafx,Fxml,Scenebuilder,我正在为我的JavaFX应用程序在SceneBuilder中创建一个视图。我希望我的观点最大化。如何在SceneBuilder或.fxml文件中实现这一点?使用场景生成器无法做到这一点,因为或是场景的属性,而不是场景中设置的布局 您可以在场景中加载并设置.fxml,然后在舞台上设置场景 在舞台上可以使用以下方法: -使舞台最大化并填满屏幕 -将舞台设置为全屏、无装饰的窗口 由于无法在fxml中最大化视图,因此必须将舞台的大小设置为最大化。在JavaFX2中,没有直接的方法来设置要最大化的阶段大

我正在为我的JavaFX应用程序在SceneBuilder中创建一个视图。我希望我的观点最大化。如何在SceneBuilder或
.fxml
文件中实现这一点?

使用场景生成器无法做到这一点,因为或是场景的属性,而不是场景中设置的布局

您可以在场景中加载并设置
.fxml
,然后在舞台上设置场景

在舞台上可以使用以下方法:

  • -使舞台最大化并填满屏幕
  • -将舞台设置为全屏、无装饰的窗口

由于无法在fxml中最大化视图,因此必须将舞台的大小设置为最大化。在JavaFX2中,没有直接的方法来设置要最大化的阶段大小,但是有另一种方法可以做到这一点。它是通过手动设置舞台的大小来实现的。您可以使用以下代码:

Screen screen = Screen.getPrimary();
Rectangle2D bounds = screen.getVisualBounds();

primaryStage.setX(bounds.getMinX());
primaryStage.setY(bounds.getMinY());
primaryStage.setWidth(bounds.getWidth());
primaryStage.setHeight(bounds.getHeight());

我在stage中发现了两个有用的属性。 首先是setFullScreen(布尔值),它会将您的视图设置为全屏幕,但它也会隐藏所有任务栏和视图标题

第二个是setMaximized(布尔值),它将使您的视图像任何其他应用程序视图大小一样完美


我为我的应用程序使用setMaximized(true)。

这是适合我的代码

primaryStage.setMaximized(true);

它在应用程序启动时混合了我的窗口屏幕。

我同意Yemmy1000primaryStage.setMaximized(true)对我来说很好

    primaryStage.setScene(new Scene(root, 1800, 850));
    primaryStage.setMaximized(true);

从最大值向下恢复时,此代码将变为宽度:1800和高度:900

遗憾:(,我正在编写一个应用程序,它必须是完整的窗口。我使用场景生成器处理布局。如果它是正常大小或完整大小,它可以是不同的间隔组件。您可以这样做,但不能直接在SceneBuilder中这样做,它是一个设计布局的工具,而不是管理窗口.@Adempiere\u HotCake您试图在哪个版本的JavaFX上运行它?
setMaximized()
包含在JavaFX 8中。使用IntelliJ中包含的JDK 7、Scene builder 2.0和Java FX运行此功能。JDK 7中不存在此方法,如上所述,它包含在JavaFX 8中,它是JDK8的一部分。我尝试了此功能。它为舞台增加了一些额外的高度。我怀疑标题栏的高度。它对我来说非常有效(如果需要,运行Windows 7)。