web-dev-qa-db-ja.com

JavaFXステージ/フレームを最大化に設定する方法

JavaFX 2を使用しています。フレームを最大化して開きたいのですが、方法がわかりません。成功せずにインターネットで少し検索しました。ステージでは、setFullScreen()setIconified()が表示されますが、setMaximized()のようなものは表示されません。

35
Dorothy

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 OS)。この後、「最大化」ボタンは無効になります。提供されている例では、標準ボタンが置き換えられています。おそらくこれはまだ問題です。

31
pmoule

Java 8 Stageクラスの実装は、最大化されたプロパティを提供します。これは次のように設定できます。

primaryStage.setMaximized(true);
132
Hans

より良い使用マルチスクリーン互換ロジックの最大化:

// 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());
7
Frank Roth

この簡単なコードprimaryStage.setMaximized(true);を試してみてください。画面全体に表示されます。最大化/最小化ボタンを削除すると、アプリケーションは画面全体に表示され、タスクバーも削除されるため、initStylesがあれば

7
Flash