我在链接我的“fish.png”图片时遇到了困难,因此它可以出现在JFrame中。这是我从网上修改过的一些代码:
package evolution;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Image extends JFrame {
public Image() {
this.getContentPane().setLayout(new FlowLayout());
JLabel label1 = new JLabel("Example Text");
ImageIcon icon = new ImageIcon("fish.png");
JLabel label2 = new JLabel(icon);
add(label1);
add(label2);
}
private static void createAndShowGUI() {
JFrame frame = new Image();
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
createAndShowGUI();
}
}
出现“示例文本”标签,因此我知道JFrame有效。我把相同的“fish.png”放在src文件夹(此类所在的位置)中,并在主文件夹(src文件夹所在的位置)中放置一级,但JFrame仅显示文本标签而不显示图像。如何正确链接?
答案 0 :(得分:2)
使用:
ImageIcon icon = new ImageIcon(getClass().getResource("fish.png"));
将fish.png
文件放在源文件旁边(实际上是类文件)。即使它包含在jar文件中,它也可以工作。
答案 1 :(得分:0)
找到Eclipse存储项目文件的目录,并将图像放在该目录中。我尝试过并且工作了。