一切正常,除了当我按下run时,它不显示JFrame中标签的图标。有人知道如何解决这个问题吗?
public class Frame extends JFrame
{
private final int speed=5;
JLabel label;
ImageIcon icon;
public void create() {
this.setSize(240,228);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.addKeyListener(this);
this.setLayout(null);
icon=new ImageIcon("rocket.png");
label=new JLabel();
label.setBounds(0,0,100,100);
label.setIcon(icon);
this.add(label);
this.setVisible(true);
}
}
字符串
我试过重命名这个文件,把它放在代码中的几个不同的位置,甚至查找了一两个教程,但都没有帮助。
2条答案
按热度按时间r6vfmomb1#
正如评论中提到的,使用
ImageIO.read()
而不是ImageIcon
,因为ImageIcon
不会抛出异常,而是产生一个1x1的空白图像,这使得更难找到与之相关的错误。至于你的错误,唯一可能无法显示ImageIcon
的情况是您输入了错误的位置。您在ImageIcon
中写入了"rocket.png"
,没有提供任何位置。这使得程序在代码文件所在的同一个文件夹中找到图像。因此,提供图像的完整位置,而不仅仅是输入其名称。因此,它应该看起来像这样:字符串
sbdsn5lh2#
更改此:
字符串
收件人:
型