我无法在面板中显示图像

I can't display an image in a panel

我正在尝试在应用程序的 JPanel 中显示图像,而我已经在另一个面板中这样做了。所以我做的第一件事就是使用相同的代码,但是没有用!

我收到这条消息:

javax.imageio.IIOException: Can't read input file!

也进行了一些 Google 搜索,我从 Youtube 获得了以下示例:

package MainFrame
import all as required

public class ExImage {

  ExImage()
  {
  try 
  {
    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("JPanel Example");

    JPanel panel = new JPanel();
    panel.setBounds(50, 50, 250, 250);
    BufferedImage image = ImageIO.read(new File("about.png"));
    JLabel label = new JLabel(new ImageIcon(image));
    panel.add(label);

    // main window
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    // add the Jpanel to the main window
    frame.add(panel); 
    frame.setSize(400, 400);
    frame.setLayout(null);
    frame.pack();
    frame.setVisible(true);
  } 
  catch (IOException e) {
  e.printStackTrace();
  }

  }

我复制它是因为在视频中效果很好。但令人惊讶的是,当我测试它时,我得到了同样的错误! 当然路径是对的,所以我不明白为什么代码找不到图片

我使用这样的代码 - 请注意我从类路径加载图像:

public class App extends javax.swing.JFrame {
    private final javax.swing.ImageIcon iiFound = new javax.swing.ImageIcon(getClass().getResource("/images/done_outline_FILL0_wght400_GRAD0_opsz48.png"));

    ...
    JLabel myLabel = new JLabel();
    myLabel.setIcon(iiFound);
    ...

有了这个,我可以用特定的图标初始化 UI,但我也可以在运行时替换图像,例如来自附加到 JButton 的 ActionListener。