【发布时间】:2014-11-03 17:09:31
【问题描述】:
我正在尝试将背景图像添加到 JPanel。绘制组件似乎没有绘制为背景导入的图像。谁能指出为什么?我已经导入了所有必要的库。
public class ImagePanel extends JPanel {
public static BufferedImage image;
public ImagePanel() {
try {
image = ImageIO.read(new File("cards/background.png"));
System.out.println("Image Import Succesful");
} catch (IOException ex) {
System.out.println("IMAGE IMPORT ERROR");
}
ImageIcon icon = new ImageIcon(image);
icon.setImage(image);
JLabel imageLabel = new JLabel(icon);
add(imageLabel);
}
@Override
protected void paintComponent(Graphics g) {
System.out.println("painted");
super.paintComponent(g);
g.drawImage(image, 100, 100,
this);
}
}
【问题讨论】:
-
您的paintComponent 覆盖是绘制背景的地方。您应该删除 ImageIcon / JLabel 代码
-
是的,为什么要添加标签并绘制图像?您是否收到“图像导入错误”?
-
不,我没有收到图像导入错误。即使删除了与 ImageIcons 和 Labels 相关的代码,它也不起作用。油漆组件不起作用
-
您确定您的 ImagePanel 实例具有非零宽度和高度吗?