0

私の問題は、背景画像がJPanelで使用するすべてのImageIconをカバーしていることです。たとえば、このコードスニペットでは、Panelにあるラベルの1つにsetIconを設定しようとしています。しかし、背景画像はそれを覆っています。どうすればこれを修正できますか?paintメソッドの外でlabel.setIcon()を使用するか、メソッドの内部で使用するかは関係ありません。

public void paint(Graphics g) {
        super.paint(g);     
        g.drawImage(backgroundImage, 0, 0, this);
            label1.setIcon(iconImage);

}

前もって感謝します!

4

2 に答える 2

1
  1. ベースパネルのレイアウトをBorderLayout
  2. をベース ペインに追加し、JLabelそのアイコンを背景画像に設定します。
  3. 必要に応じてレイアウトJLabelを設定します
  4. 残りのコンポーネントをこのラベルに追加します
于 2012-11-02T07:26:46.877 に答える
0

オーバーライドされたメソッドの外に label.seticon を配置してみてください。参照する:

Eclipse Helios で JFrame または JPanel の背景画像を設定する方法

次のように実装できます。

 public void paintComponent(Graphics g) {
 g.drawImage(img, 0, 0, null);
 }

また

public void paint(Graphics g) { 
if (img!=null) g.drawImage(img, 0, 0, null); 
super.paint(g); 
} 
于 2012-11-02T07:09:33.620 に答える