0

我的问题是背景图像覆盖了我在 JPanel 中使用的所有 ImageIcon。例如,在此代码片段中,我尝试将 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. 将 a 添加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 回答