【发布时间】:2013-09-13 13:09:47
【问题描述】:
我想做一个简单的小部件,它有一个可以改变图片的组合框。 我在 src/test 中有 2 张 png 图片(在我的 .java 文件旁边)
当我运行我的程序时,我收到了这个异常:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at first.gui.<init>(gui.java:11)
at first.Main.main(Main.java:11)
这是我的代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class gui extends JFrame {
JLabel lb = new JLabel();
Icon[] pics = {
new ImageIcon(getClass().getResource("f.png")),
new ImageIcon(getClass().getResource("i.png"))
};
String[] str = {
"f.png", "i.png"
};
JComboBox box = new JComboBox(str);
public gui() {
super("title");
setLayout(new FlowLayout());
box.addItemListener(
new ItemListener() {
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED)
lb.setIcon(pics[box.getSelectedIndex()]);
}
});
add(box);
}
}
我该怎么解决?
【问题讨论】:
-
Eclipse 无法检测图像路径 这不是 Eclipse。这是你的 java 程序。
-
参见了解更多下的embedded-resource。
-
您是否将
src/test添加到您的classpath中? -
是的,我添加了 getClass().getResource("/src/test/f.png") 还是不行
-
classpath,JVM 查找内容的路径。它是 Eclipse 中Run configuration下的 ENV 变量或设置。
标签: java eclipse swing path imageicon