43

我正在使用 JavaFX 2。我希望我的框架最大化地打开,但我没有看到办法。我在互联网上搜索了一下没有成功。对于我看到的舞台setFullScreen()setIconified()但我没有看到类似setMaximized().

4

5 回答 5

152

Stage 类的 Java 8 实现提供了一个最大化的属性,可以如下设置:

primaryStage.setMaximized(true);
于 2013-12-15T23:51:37.943 回答
36

在评估 JavaFX 2.0 SDK 示例提供的 Ensemble.jar 的源代码时,当前有效的实现窗口最大化的方法是

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

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

(您可以在 WindowButtons.java 中找到类似的代码)

“最大化”按钮仍处于启用状态,单击它时,窗口会变大一点(Windows 操作系统)。在此之后,“最大化”按钮被禁用。在提供的示例中,标准按钮被替换。也许这仍然是一个问题。

于 2011-07-30T11:56:13.793 回答
7

更好地使用兼容多屏的最大化逻辑:

// Get current screen of the stage      
ObservableList<Screen> screens = Screen.getScreensForRectangle(new Rectangle2D(stage.getX(), stage.getY(), stage.getWidth(), stage.getHeight()));

// Change stage properties
Rectangle2D bounds = screens.get(0).getVisualBounds();
stage.setX(bounds.getMinX());
stage.setY(bounds.getMinY());
stage.setWidth(bounds.getWidth());
stage.setHeight(bounds.getHeight());
于 2014-06-05T12:33:09.120 回答
7

试试这个更简单的代码 primaryStage.setMaximized(true); ,它会填满整个屏幕。请注意,如果您删除最大化/最小化按钮,应用程序将填满整个屏幕并删除任务栏,所以initStyles如果您有任何

于 2015-07-05T09:25:20.883 回答
-7

使用它来删除最小化、最大化按钮:

primaryStage.initStyle(StageStyle.UTILITY);

其中 primaryStage 是您的 Stage 对象。

于 2013-03-30T19:32:59.240 回答