Java Swing:无法使用getResource加载图像

我试图在尝试将图像添加到类目录时找出问题所在。 (这样做,当我导出为可运行的JAR时,图像包含在包中)。

所以我将strawberry.jpg文件放在’C:\ Users \ sean \ workspace \ myApps \ src \ testing’中你能告诉我我缺少什么吗? 谢谢!

package testing; import java.awt.*; import javax.swing.*; public class IconTest { public static void main(String[] arguments) { JFrame frame1 = new JFrame(); frame1.setTitle("Frame1"); frame1.setSize(500, 500); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); FlowLayout flo = new FlowLayout(); frame1.setLayout(flo); JLabel label1 = new JLabel(new ImageIcon( IconTest.class.getResource("strawberry.jpg"))); frame1.add(label1); frame1.setVisible(true); } } 

我将使用SomeClass.class.getResourceAsStream("...") ,如下例所示:

 public static void main(String[] arguments) throws IOException { JFrame frame1 = new JFrame(); frame1.setTitle("Frame1"); frame1.setSize(500, 500); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); FlowLayout flo = new FlowLayout(); frame1.setLayout(flo); InputStream resourceAsStream = IconTest.class.getResourceAsStream("strawberry.jpg"); Image image = ImageIO.read(resourceAsStream); JLabel label1 = new JLabel(new ImageIcon(image)); frame1.add(label1); frame1.setVisible(true); } 

将图像文件放在编译类所在的目录中,并通过在文件名前添加“/”来更改yor代码中的路径:

 JLabel label1 = new JLabel(new ImageIcon( IconTest.class.getResource("/strawberry.jpg"))); 

在类路径中搜索资源。