私はかなり長い間この問題を抱えていて、インターネット上のどこにも解決策を見つけることができませんでした.
メイン フレームとして JDialog があり、ウィンドウの透明度を変更できるようにする必要があります。通常、setUndecorated(true) を呼び出しても問題はありませんが、そうしたくありません。システムのルック アンド フィールの下の上部にタイトル バーを表示したいと考えています。
興味深い点は、私の Mac では、JDialog がまだ「装飾」されているにもかかわらず、透明度の変更がシステムのルック アンド フィールで問題なく機能することです。
これが私の JDialog の画像です。私が何を扱っているかがわかります。
システムのルック アンド フィールを使用する必要がありますが、ウィンドウの透明度も変更できる必要があります。
試してみると、Windowsで次の例外が発生します。
「スレッド「AWT-EventQueue-0」で例外 java.awt.IllegalComponentStateException: ダイアログが装飾されています」
装飾なしに設定すると、オプションではない上部のタイトル バーが失われます。誰もこれを回避する方法を知っていますか?