Boa Noite pessoal, sou novo por aqui e esta é a minha primeira pergunta, que já foi perguntada mas não conseguiu resolver minha dúvida:
Quero exibir uma imagem na tela com Jframe usando a biblioteca graphics2d, utilizei o código do link a seguir /t/graphics2d/48864/14 e adaptei para a minha situação. O código ficou assim:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Desenhar extends JComponent {
private static final long serialVersionUID = 1L;
JFrame frame;
JPanel panel;
Desenhar() {
frame = new JFrame("Tela");
panel = new JPanel();
panel.setLayout(null);
frame.getContentPane().add(panel);
frame.setVisible(true);
frame.setSize(800, 600);
panel.add(this);
this.setBounds(50, 50, 100, 100);
}
public void paintComponent(Graphics g) {
try {
Graphics2D g2 = (Graphics2D) g;
InputStream imgStream = getClass().getResourceAsStream("imagens/img.png");
BufferedImage image = ImageIO.read(imgStream);
g2.drawImage(image, 100, 100, panel);
System.out.println("Imagem OK!");
} catch (Exception e) {
System.out.println("Imagem não localizada");
}
}
public static void main(String[] args) {
new Desenhar();
}
}
Acontece que a imagem não está sendo encontrada, criei uma pasta dentro do projeto com o nome de imagens e referenciei o caminho no código (“imagens/img.png”)
O que está havendo de errado?