Essa sobrescrita também está errada.
Em componentes Swing você deve sobrescrever o método paintComponent.
O método paint é para ser sobrescrito em componentes AWT.
o brother pior erei a escrita mesmo, mas código o q ta de errado agora no método? eu usei outro método e funcionou mas sou meio persistente quero ver o q erei nesse.
public class GaleriaDeImagens extends JPanel {
private static final long serialVersionUID = 1L;
private BufferedImage imgBK;
public GaleriaDeImagens(){
imagens();
}
public void imagens() {
try {
imgBK = ImageIO.read(getClass().getResource("/BK.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(imgBK, 10, 10, 100, 100,null);
}
}
Provavelmente você deve apagar a chamada ao super.paintComponent, pois você não quer o comportamento padrão do JPanel ao se desenhar.
Acredito que no construtor da sua classe deva chamar o método setOpaque(true) pois por padrão os JPanel são transparentes.
boa noite brother cheguei agora fui olha o programa e agora por algum motivo ele está dando erro na linha …
imgBK = ImageIO.read(getClass().getResource("/BK.jpg"));
erro que não tinha antes. bom eu fiz de outra maneira e que funcionou mas to com outra duvida…
to querendo tratar essa imagem como um botão, sendo assim quando eu clica-se ou passasse o mouse por cima ela muda-se de imagem…
uso o gets e o seters para isso?
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class Imagem extends JPanel {
public ImageIcon imI= new ImageIcon(getClass().getResource("/BK.jpg"));
public ImageIcon imI1= new ImageIcon(getClass().getResource("/BK1.jpg"));
//public ImageIcon imI2= new ImageIcon(getClass().getResource("/BK.jpg2"));
public Image im = imI.getImage();
public Image im1 = imI1.getImage();
public Image getIm1() {
return im1;
}
public void setIm1(Image im1) {
this.im1 = im1;
}
public Image getIm() {
return im;
}
public void setIm(Image im) {
this.im = im;
}
public void paintComponent(Graphics g) {
//super.paintComponent(g);
g.drawImage(im, 200, 200,80,80, this);
}
public ImageIcon getImI1() {
return imI1;
}
void setImI1(ImageIcon imI1) {
this.imI1 = imI1;
}
}
public class Principal {
JFrame j1 = new JFrame();
Imagem im = new Imagem();
public Principal() {
janelas();
}
public void janelas() {
j1.setSize(500, 500);
// j1.setLayout(null);
j1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
j1.setLocationRelativeTo(j1);
//
j1.add(im);
//
j1.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
im.setIm(im.getIm1());
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
});
//
j1.setVisible(true);
}
public static void main(String[] args) {
new Principal();
}
}