java 我无法正确显示ImageIcon

shstlldc  于 2024-01-05  发布在  Java
关注(0)|答案(2)|浏览(173)

一切正常,除了当我按下run时,它不显示JFrame中标签的图标。有人知道如何解决这个问题吗?

  1. public class Frame extends JFrame
  2. {
  3. private final int speed=5;
  4. JLabel label;
  5. ImageIcon icon;
  6. public void create() {
  7. this.setSize(240,228);
  8. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  9. this.setLocationRelativeTo(null);
  10. this.addKeyListener(this);
  11. this.setLayout(null);
  12. icon=new ImageIcon("rocket.png");
  13. label=new JLabel();
  14. label.setBounds(0,0,100,100);
  15. label.setIcon(icon);
  16. this.add(label);
  17. this.setVisible(true);
  18. }
  19. }

字符串
我试过重命名这个文件,把它放在代码中的几个不同的位置,甚至查找了一两个教程,但都没有帮助。

r6vfmomb

r6vfmomb1#

正如评论中提到的,使用ImageIO.read()而不是ImageIcon,因为ImageIcon不会抛出异常,而是产生一个1x1的空白图像,这使得更难找到与之相关的错误。至于你的错误,唯一可能无法显示ImageIcon的情况是您输入了错误的位置。您在ImageIcon中写入了"rocket.png",没有提供任何位置。这使得程序在代码文件所在的同一个文件夹中找到图像。因此,提供图像的完整位置,而不仅仅是输入其名称。因此,它应该看起来像这样:

  1. icon = new ImageIcon("src\res\rocket.png");

字符串

sbdsn5lh

sbdsn5lh2#

更改此:

  1. icon=new ImageIcon("rocket.png");

字符串
收件人:

  1. icon=new ImageIcon("src\\rocket.png");

相关问题