Galera, to criando um programa que faz o seguinte, tem varias imagens no lado superior da tela e quando um usuario clicar numa imagem, esta aparecera no lado inferior, mas quando eu clico na primeira, tudo bem aparece a imagem corretamente na coordenada certa, porem quando for clicar na segunda em diante a imagem anterior some e aparece a proxima, como posso resolver?
[code]
package Codigo;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Janela1 extends JFrame {
int pWidth, pHeight;
CarregarImagens imagens;
int posX;
int posY;
int y1[] = {50,50,50,50,50,50,50,150,150,150,150,150,150,150,250,250,250,250,250,250,250};
static Image nome3[] = new Image[21];
PintarImagem pi;
EventImagem ei;
JPanel inferior,superior;
String s;
int xis = 50;
Image ima;
public Janela1(int x, int y, CarregarImagens ci) {
pWidth =x;
pHeight = y;
imagens = ci;
Container c = getContentPane();
c.setLayout(null);
setTitle("Escolha uma opção");
setBackground(Color.white);
setVisible(true);
setSize(pWidth,pHeight);
setResizable(true);
superior = new PintarImagem(pWidth,pHeight,imagens);
c.add(superior);
superior.setBounds(0,0,pWidth,pHeight);
superior.setBorder(BorderFactory.createLineBorder(Color.red,03));
superior.addMouseListener(new Tratador());
}
private class Tratador extends MouseAdapter {
public void mousePressed(MouseEvent e) {
String s;// --ö)
posX = e.getX();
posY = e.getY();
repaint();
}
}
public void paint(Graphics g) {
super.paint(g);
for(int i = 0; i <=20;i++) {
if(((posX >= pi.x1[i])&&(posX <= pi.x1[i] + 90))&&
((posY >= y1[i])&&(posY <= y1[i] + 90))) {
if(xis < pWidth -100) {
try {
s = (String)imagens.id.get(i);
nome3[i] = imagens.getImage(s, i);
g.drawImage(nome3[i],xis,pHeight-150,null);
xis = xis + 100;
}
catch(Exception e) {
e.printStackTrace();
}
}
}
}
}
}