2017-05-06 1 views
0

まず、いくつかのパネルを重なり合わせ、クリックするとそれらのパネルを重ねて表示します。 setBackGround(new Color(0,0,0,0))を使用して透明に見えるようにするまではすべてうまく行きますが、setVisible(false)は機能しません。つまり、現在のパネルがまだ他のパネルとともに表示されています。これはsetOpaque(false)を設定しないと問題があるように思われるスウィングでsetBackground(new Color(0,0,0,0))を使用する際のエラー

enter image description here

+0

これは小さな自己完結型の例が必要です。私はこの問題についてはっきりしていない。これは、javax.swing.JComponent.setOpaque(false)を使用して修正できる可能性があります – Adam

+0

@アダム私はちょうどそれをfalseに設定していただきありがとうありがとうございます:) –

+0

心配しないで、私は答えとして書いた – Adam

答えて

3

:ように見えます。

これはJComponent.setBackground

のJavadoc内に触れこのコンポーネントの背景色を設定しているJComponent.setOpaque()

参照します。バックグラウンドカラーは、コンポーネントがの場合は、コンポーネントの場合は のJComponentまたはComponentUI実装のサブクラスのみによって使用される場合にのみ、 が使用されます。 の直接サブクラスJComponentは、このプロパティを守るためにpaintComponentをオーバーライドする必要があります。

関連する問題