Ola galera, eu conseguiria com ImageIcon colocar a imagem num JPanel, pintar essa Imagem na tela após 1 evento de mouse?!?!?!?!
de uma olhada no código:
package Codigo;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Janela1 extends JFrame{
int pWidth,pHeight;
CarregarImagens carrega;
ImageIcon imaIcon;
String nome,s;
int locx=0,locy =0;
int posX, posY;
static int coordx[] = new int[21];
static int coordy[] = new int[21];
JPanel painel1, painel2, painel3,painel4,painel5,painel6,painel7;
Container tela;
int x = 0;
public Janela1(int x, int y, CarregarImagens ci) {
pWidth = x;
pHeight = y;
carrega = ci;
tela = getContentPane();
tela.setLayout(null);
setTitle("Escolha uma opção");
setVisible(true);
setSize(pWidth,pHeight);
for(int i = 0; i <= 20; i++) {
if(locx == pWidth - 100) {
locy = locy + 100;
locx = 0;
}
JLabel rotulo = new JLabel();
s = (String) carrega.id.get(i);
imaIcon = carrega.getImage(s,i);
rotulo.setIcon(imaIcon);
rotulo.setBounds(locx,locy,90,90);
tela.add(rotulo);
coordx[i] = locx;
coordy[i] = locy;
locx = locx + 100;
}
painel1 = new JPanel();
painel1.setBounds(50,pHeight-100,pWidth,90);
addMouseListener(new Tratador());
}
private class Tratador extends MouseAdapter {
public void mousePressed(MouseEvent e) {
posX = e.getX();
posY = e.getY();
int panel = 0;
for(int i = 0; i <=20; i++) {
if((coordx[i] >= posX)&&(coordx[i] <= posX + 90)&&
(coordy[i]>= posY)&&(coordy[i]<= posY + 90)) {
s = (String) carrega.id.get(i);
imaIcon = carrega.getImage(s,i);
repaint();
}
}
}
public void paint(Graphics g) {
imaIcon.paintIcon(painel1,g,x,pHeight-100);
x = x + 100;
}
}
}
preciso ver o que posso esta fazendo errado!!!
flws