Bom dia galera…
Estou querendo implementar um JPanel que toda vez que eu clicar com o mouse em um determinado ponto, seja desenhado um circulo na tela porem apague o anterior
o programa funciona perfeitamente, Porem ao inves de repintar todo o componente ele simplesmente adiciona outro circulo e nao executa o Repaint como deveria, ou seja repintar todo o componente, porem ele apneas esta adicionando a nova pintura e nao repintando como deveria.
seguem os codigos fontes.
package jogo;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Jogo extends FramePrincipal {
private static int x,y;
private static Fase fase;
public Jogo(){
//super();
setTitle("Mouse");
//addMouseListener(new Acoes());
fase = new Fase();
fase.addMouseListener(new Acoes());
add(fase);
}
static class Acoes extends MouseAdapter{
public void mouseClicked(MouseEvent e){
x = e.getX();
y = e.getY();
//System.out.println(x + y);
fase.drawing(x, y);
}
}
}
package jogo;
import java.awt.*;
import javax.swing.JPanel;
public class Fase extends JPanel{
private static int x,y;
public void drawing(int xx, int yy){
x = xx;
y = yy;
repaint(); // a chamada eh feita e a pintura acontece, porem a pintura anterior ainda continua presente
}
public void paintComponent(Graphics g){
super.paintComponents(g);
//g.dispose();
g.setColor(Color.RED);
setBackground(Color.BLACK);
//g.drawRect(x, y, 20, 20);
g.fillOval(x, y, 20, 20);
}
}
Alguma sugestao?
abraço
)