1

最大化ボタンがクリックされたときにウィンドウを最大化する次のコードがあります(タイトルバーの緑色のボタン)。ただし、最大化位置で再度クリックしても元のサイズ (900x600) には戻りません。左側だけ縮んでいるのがわかります。

//set the original size        
final Scene homeScene = new Scene(homePane,900,600);

...

    primaryStage.maximizedProperty().addListener(new ChangeListener<Boolean>() {
        @Override
        public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {

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

元の位置に戻すにはどうすればよいですか? 最大化ボタンをもう一度クリックしても、「変更」メソッドはトリガーされません。それ以外の場合は、元のサイズをプログラムで設定します。

4

2 に答える 2

0

次のコードは、 a の最大化状態をリッスンするのに問題なく機能しますStage

primaryStage.maximizedProperty().addListener((w,o,n)->System.out.println(n));

カスタム (装飾されていない) を使用している場合は、これを行ったUndecoratorStageを確認することをお勧めします。

于 2015-01-29T09:55:29.580 に答える