この問題を数回繰り返してこのアプリケーションを構築すると、実際に私たちの機能が妨げられています。一部のJavaFXレイアウトはMacコンピュータと互換性がありませんか?
Screen screen = Screen.getPrimary();
Rectangle2D bounds = screen.getVisualBounds();
overallStage.setX(bounds.getMinX());
overallStage.setY(bounds.getMinY());
overallStage.setWidth(bounds.getWidth());
overallStage.setHeight(bounds.getHeight());
これは、ユーザがログインした後、画面の最大化できるようにすることでした。私は、ステージに影響を与えるコードの行を変更したときに私の他の開発者(MACを使用しては)私たちのアプリケーションを実行しようとしたときに問題が最初に始めました。 Macユーザーがログインした後、ステージは左下の小さなウィンドウに最小化されて消えます。同じようなことが、私が新たに加えたことで起こっています。
私は、アプリケーション内のサイドメニューを組み込むために、この追加を行いました。ご覧のとおり、スタックペインにシーン全体をラップし、サイドメニューの外部アンカーペインでアンカーペイン(階層を参照)をラップしました。 2つの異なるMacで最小限に抑えられて消えてしまうところで、まったく同じことが起こっています.Windowsは完璧です。
レイアウトや舞台設定の中には、メインシーンをラップした後にしか起こらなかったものや、誰かがこの問題を抱えているか、それを修正する方法を知っている人がいますか?
本当に良い質問! – Milan
実際のレイアウトコードはJavaで書かれているので、(少なくともシステムが同じJDKバージョンを実行している場合は)どのシステムでも同じことをする必要があります。 'Screen' API(' Screen.getPrimary() 'と' screen.getVisualBounds() ')は明らかにネイティブシステムと通信しなければならず、潜在的にいくつかの座標変換を行う必要があります。さまざまなシステムで画面境界にどのような値を記録しているのですか?各JDKバージョンはどのシステムで動作していますか? Macの以前のJDKバージョンでは、JavaFXで使用される座標系にネイティブ画面の座標を変換するバグがありました。 –