タスクバーと重ならないように、フルスクリーンで表示する必要がある装飾されていない JFrame( setUndecorated(true) ) が必要です。
以下の解決策を試しました。
setExtendedState(MAXIMIZED_BOTH) を呼び出しています。
- 利点: これは期待どおりにうまく機能します。つまり、ウィンドウは動的に調整されますが、以下の問題があります。
- 問題 最初にウィンドウがフルスクリーンを占有します フレームは動的に調整されますが、タスクバーと重なります。
Does JFrame.setExtendedState(MAXIMIZED_BOTH) work with undecorated frames?に記載されているように、以下のソリューションを試しましたか?
GraphicsConfiguration config = aFrame.getGraphicsConfiguration(); Rectangle usableBounds = SunGraphicsEnvironment.getUsableBounds(config.getDevice()); aFrame.setBounds(0, 0, usableBounds.width, usableBounds.height);
- 利点:オーバーラップが発生せず、ウィンドウがきれいに見えます。
- 問題: タスクバーの位置/サイズが変更されたときに、ウィンドウが動的に調整されません。
どんな助けでも大歓迎です。
デザインを考えました。しかし、その実現可能性については確信が持てません。setBounds() を使用できます。しかし、タスク バーが調整または再配置されたときにフレームに通知する必要があります。方法はありますか?