0

特定の画像の上にオーバーレイを描画するためのスイングインターフェイスを構築しています。JPanelに画像を描く方法のいくつか見つけましたが、これは問題なく行うことができます。 ただし、この画像の上にオーバーレイを動的に描画しながら、この画像を完全に静的に保ちたいと思います。そのことを念頭に置いて、毎回画像を再描画するのではなく、画像をパネルの永続的な背景として設定できればよいでしょう。これは、現在パネルにグラフィックを表示して新しいグラフィックを再描画したい場合が頻繁にあるため、特に便利です。 paintComponent()removeAll()

paintComponent()だから私の質問はこれです:JPanelで永続的な背景画像を設定する方法はありますか、それとも呼び出されるたびに画像を再描画する必要がありますか?

4

2 に答える 2

2
  • に関して置くImage_Icon / ImageIconJLabel

  • このJLabelインストレッドを使用するJPanel

  • JLabelは、またはと比較してLayoutManagerを実装していませJFrame(BorderLayout)JPanel(FlowLayout)

  • あなたは適切なものを定義する必要があります、LayoutManagerPreferredSizeを受け入れることはその子になりました

  • 次に、コンテナが機能するため、JPanelの場合と同様に(ほぼ)すべての方法にアクセスできます。

于 2012-07-06T14:47:36.140 に答える
1

Jpanelを別のJpanelの中​​に入れてみることができます。コンテナJPanelに画像を描画します。次に、内側のJPanelを透明にします。このように、オブジェクトがない場合は、変更されていない親JPanelの背景が表示されます。

于 2012-07-06T15:05:31.677 に答える