私は現在、SwingX
ライブラリからクラスを拡張しているDropShadowBorder
クラスを持っています。したがって、これは通常のBorder
のインスタンスです。私はこのデコレーションを私の装飾されていないJFrame
の周りに描きたいと思います。私は現在、国境を設定するために、私のJFrame
内の以下の方法を使用しています:Java:デコレーションされていないJFrameの周りに境界線を描くにはどうすればいいですか?
DropShadowBorder b = new DropShadowBorder(Color.BLACK, 0, 10, 0.2f, 10, true, true, true, true);
this.getRootPane().setBorder(b);
注:フレームはボーダーをサポートしていないので、私は、上の境界線を描画するフレームのルート区画を使用しています自体。
問題は、あなたが下図に見ることができるように、影の境界は、フレーム自体の境界に対して、内側に描かれ、国境をコンポーネント自体の内側に描かれていることである。
注:(影付きの)枠は、枠の外側ではなく枠の内側に描画されます。
どのような境界線が使用されても問題ありません。すべてがJFrame
内部に描画されています。
私の質問は:フレームの周りだけでなく、フレームの周りに任意の枠線を描くことは可能ですか?この問題を解決するために使用することができ
一つの方法は、通常のウィンドウは、このいずれかの上に置かれ、透明であり、さまざまな装飾のないフルスクリーンウィンドウを作成することです。このフルスクリーンウィンドウは、影を描画するために使用されるため、影自体をフレーム自体に描画する必要はありません。これは、同様の結果を得るための解決策です。これはではなく、です。私は枠の外に枠を描きたい。これらのソリューションは通常、他の問題を引き起こします。
'this.getContentPane()setBorder(B);'、より良いJPanel'は 'Borders' – mKorbel
'と 'そこに置かれているですフレーム自体の周りに境界線を描画することは可能ですが、フレームのルートペインの周りには何も描かないのですか? - いいえ、何を解決しようとしていますか? – camickr
私は装飾されていない 'JFrame'に影を追加したいと思います。私は現在、あなたが私の質問の絵で見ることができるように影を作る境界線を持っています。問題は、境界線が設定されているコンポーネントの内側に描画される境界線です。例えば、そのイメージ上では、境界線はフレーム境界内に描画されます。このシャドーボーダーをフレームの外側に描画する方法はありますか? 注:私はすべてのことをもう少し明確にするために質問を更新しました。 –