Gente eu possuo uma aplicação de desenhos em java, porém eu estou fazendo uma ação de quando o usuario esta com a Lina (Segmento) selecionada, enquanto ele estiver arrastando o mouse, o programa vai mostrando por onde a lina é desenhada, igual do paint do windows.
Seguem os passos:
OnMousePressed:
Marca Ponto1(x,y) inicial.
OnMouseDragged:
public void tempDraw(SelectedForm type, Object form) {
Line l = (Line) form; // -> Aqui faz o objeto de referencia.
BufferedImage temp = deepCopy(); // -> Copia a bufferedImage atual antes de desenhar.
Graphics2D g2d = (Graphics2D) this.imageBuffer.getGraphics();
g2d.setColor(l.getColor());
g2d.drawLine(l.getP1().x, l.getP1().y, l.getP2().x, l.getP2().y); // -> pinta em cima da bufferedImage atual
repaint(); // -> Repinta o painel
imageBuffer = temp; // -> Depois volta a fazer com o que a imagem atual seja a anterior antes das modificações
}
Seguindo estes passos era pra acontecer assim, o programa mostra o que foi mudado, depois volta a bufferedImage como estava antes, mas o que está acontecendo é que fica sem o efeito esperado, que é de mostrar ao mesmo tempo que o usuario ai arrastando, ele vai pintando por onde passa o mouse.
Ex: Se eu der fizer: // imageBuffer = temp;, ele fica pintando varias linhas sem deletar a ultima pintada, ficando com varias linhas no meio da tela, assim:

Ja tentei de tudo, de verdade, alguem pode me ajudar ?
Se precisar de mais informacoes so pedir.
Obs: Ja verifiquei e não tem mais nada dando repaint depois que eu faço essas operações…