我无法在面板中显示图像
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。
我正在尝试在应用程序的 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。