使用NetBeans IDE将图像添加到JPanel

时间:2012-04-02 15:18:02

标签: java image swing netbeans jlabel

我正在尝试使用Netbeans将n图像添加到面板。 我将一个Panel从调色板拖到框架上,并根据我想要的图像大小调整它的大小。 在构造函数中,我然后将图像添加到面板(我将它命名为panelImage)。

JLabel label = new JLabel(new ImageIcon("images\\BrokenFrameResized.jpg"));
    paneImage.add(label);

但是图像不显示。 使用Matisse布局管理器(i.o.w。拖放面板)将图像显示为Panel大小的最佳方法是什么。

使用paintComponent(Graphics g)是否更好?

2 个答案:

答案 0 :(得分:6)

  

使用paintComponent(Graphics g)是否更好?

如果您希望图像显示在其他组件后面,则显示在JLabel中。这里的问题很可能是您正在访问嵌入式应用程序资源,就像它是File一样。必须通过URL访问嵌入式资源。

E.G。

URL urlToImage = this.getClass().getResource("/images/BrokenFrameResized.jpg");
ImageIcon icon = new ImageIcon(urlToImage);
...

答案 1 :(得分:2)

呀。你绝对应该使用paintComponent。如果您尝试使用JLabel,则很难将任何其他组件放入面板中,因为组件可能不会重叠。