JavaFX 2を使用しています。フレームを最大化して開きたいのですが、方法がわかりません。成功せずにインターネットで少し検索しました。ステージでは、setFullScreen()
とsetIconified()
が表示されますが、setMaximized()
のようなものは表示されません。
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)。この後、「最大化」ボタンは無効になります。提供されている例では、標準ボタンが置き換えられています。おそらくこれはまだ問題です。
Java 8 Stageクラスの実装は、最大化されたプロパティを提供します。これは次のように設定できます。
primaryStage.setMaximized(true);
より良い使用マルチスクリーン互換ロジックの最大化:
// 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());
この簡単なコードprimaryStage.setMaximized(true);
を試してみてください。画面全体に表示されます。最大化/最小化ボタンを削除すると、アプリケーションは画面全体に表示され、タスクバーも削除されるため、initStyles
があれば