在java框架上添加图像

时间:2014-01-21 08:10:01

标签: java eclipse swing jframe embedded-resource

我在实践中遇到这个问题,框架没有显示我在文件夹图片中的图像,有人可以告诉我为什么?我添加项目的层次结构enter image description here

package frame;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Frame {
  Frame() {
    final JFrame login = new JFrame();
    login.setTitle("Title");
    login.setLayout(null);
    login.add(new JLabel(new ImageIcon("Images/images.png")));
    login.setVisible(true);
    login.setSize(500, 400);
    login.setLocationRelativeTo(null);
}

public static void main(String[] args) {
    new Frame();
}

}

3 个答案:

答案 0 :(得分:1)

要从项目中获取资源,请使用URL而不是String路径。例如:

URL resource = Frame.class.getResource("/Images/images.png");
ImageIcon icon = new ImageIcon(resource);
JLabel lbl = new JLabel(icon);

另请阅读that

也不要使用null LayoutManager,在这种情况下,您需要在setBounds()方法的帮助下指定组件的边界。

答案 1 :(得分:1)

如果你没有合理的理由,请避免使用setLayout(null)。删除以下代码。图像将会显示。

如果仍然需要使用空布局,则必须设置组件的宽度和高度及其x和y位置。

   login.setLayout(null);

答案 2 :(得分:0)

不要将包用于资源。而是创建一个名为“images”的非源文件夹,并将其移动到那里。

之后,使用该路径“images / images.png”