我正在尝试在我的JFrame上显示两张图片,我发现的方式是使用图标和JLabel,这看起来非常简单,我没有遇到这个问题。但是当谈到定位图像时,我无法让它工作。我在Linux机器上因此是转发式的。我在我的项目中创建了一个名为pics的文件夹,名为399assig1。
ImageIcon icon1 = createImageIcon("/home/dsk03/ugrad/jeanbern/workspace/C291/workspace/399assig1/pics/fur-05.jpg","First");
this.label1 = new JLabel("Picture 1", icon1, JLabel.CENTER);
ImageIcon icon2 = createImageIcon("pics/fur.png","Second");
this.label2 = new JLabel("Picture 2", icon2, JLabel.CENTER);
这是我得到的错误
Couldn't find file: /home/dsk03/ugrad/jeanbern/workspace/C291/workspace/399assig1/pics/fur-05.jpg
Couldn't find file: pics/fur.png
答案 0 :(得分:5)
如果createImageIcon()在CLASSPATH中搜索该文件,则需要将根目录添加到CLASSPATH。更好的方法是使用相对于已包含在CLASSPATH中的目录的路径。
像这样:
%>CLASSPATH=$CLASSPATH;/home/dsk03/ugrad/jeanbern/workspace
那么你的电话就是
ImageIcon icon1 = createImageIcon("399assig1/pics/fur-05.jpg", "MyIcon");