'How to add an ImageIcon in java? this code is not working
I want to add an ImageIcon to the Panel, but I got this Exception (
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)"
because "this.LABEL2" is null and I do not know how to solve it , help me please.
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);
}
}
Solution 1:[1]
public ImageIcon image = new ImageIcon(Test.class.getResource("give image path"));
Please try this way. give the image path in you file structure.
Solution 2:[2]
This might help
ICON = new ImageIcon("specify icon path here ");
//you might need to scale the icons size
Image image = image.getImage().getScaledInstance(width, height,Image.SCALE_DEFAULT);
ImageIcon ICON2 = new ImageIcon(image);
LABEL2 = new JLabel(ICON2);
LABEL2.setBounds(x,y,width,height);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Jagad Chandana |
Solution 2 | Moritz |