如何在java中添加一个ImageIcon?此代码不起作用

Posted

技术标签:

【中文标题】如何在java中添加一个ImageIcon?此代码不起作用【英文标题】:How to add an ImageIcon in java? this code is not working 【发布时间】:2021-03-12 08:21:04 【问题描述】:

我想在面板中添加一个 ImageIcon,但我得到了这个异常 (

java.lang.NullPointerException: Cannot invoke "java.net.URL.toExternalForm()" because "location" is null
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "javax.swing.JLabel.setBounds(int, int, int, int)"

因为“this.LABEL2”为空,我不知道如何解决,请帮帮我。

import javax.swing.*;
import java.awt.*;

public class ShowQR extends JFrame
    private JPanel PANEL;

    private JLabel LABEL2;

    private ImageIcon ICON;
    
    

    public ShowQR()
    
    super("Choose background color");
    

    
    ICON = new ImageIcon(getClass().getResource("qr-code2.png"));
    LABEL2= new JLabel(ICON);
    
    PANEL.setLayout(null);

    LABEL2.setBounds(50, 50, 50, 50);

    PANEL.add(LABEL2);


    add(PANEL);
    
    setVisible(true);



    setDefaultCloseOperation(EXIT_ON_CLOSE);



    setSize(400,400);
    


【问题讨论】:

这里的根本原因可能是,在此路径中找不到您指定的图像。您是否确保指定了正确的图像路径? How to use Icons 上的 java 教程有一些关于如何正确加载图像的好例子。 ICON = new ImageIcon(getClass().getResource("qr-code2.png")); 你确定icon 不为空并且qr-code2.png 位于预期的位置。 变量名不应大写。学习并遵循 Java 命名约定。您可以在教科书或在线教程中找到的任何代码示例中找到适当的约定。 【参考方案1】:
public ImageIcon image = new ImageIcon(Test.class.getResource("give image path"));

请尝试这种方式。给出文件结构中的图像路径。

【讨论】:

以上是关于如何在java中添加一个ImageIcon?此代码不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Java:ImageIcon 与图像差异

如何在 ImageLoader 中同步 ImageIcon

GIF ImageIcon 在 Java Swing 中不断闪烁

ImageIcon 在窗口中单击并拖动

我如何将javax.swing.ImageIcon绘制为JavaFX .fxml呈现的用户界面?

如何创建具有 GridBagLayout 单元格精确尺寸的 ImageIcon