JPanel para desenhar com evento de mouse

Ola meus amigos, estou tentando fazer um panel que desenhe quando eu clicar e arrastar com o botao esquerdo e q apague quando clicar e arrastar com botao direiro. Olhem o codigo ai e se puder me ajudem por favor pois ele so ta desenhando, nao esta apagando.

import java.awt.Color;
import java.awt.Point;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JPanel;

public class PaintPanel extends JPanel
{
private int pointCount = 0; // número de contagem de pontos

// array de 10000 referências java.awt.Point
private Point points[] = new Point[ 10000 ];

private boolean button = true;

// configura a GUI e registra handler de evento de mouse
public PaintPanel()
{
// trata evento de movimento de mouse do frame
addMouseMotionListener(

new MouseMotionAdapter()// classe interna anônima
{
// armazena coordenadas de arrastar e repinta
public void mouseDragged( MouseEvent event )
{
if (event.isMetaDown()){
if ( pointCount < points.length )
{
points[ pointCount ] = event.getPoint(); // localiza o ponto
pointCount++; // incrementa número de pontos em array
button = false;
repaint(); // repinta JFrame
}//fim if interno
}else{
if ( pointCount < points.length )
{
points[ pointCount ] = event.getPoint(); // localiza o ponto
pointCount++; // incrementa número de pontos em array
button = true;
repaint(); // repinta JFrame
}//fim if interno
}//fim do if else
} // fim do método mouseDragged
} // fim da classe interna anônima
); // fim da chamada para addMouseMotionListener
} // fim do construtor PaintPanel

// desenha oval em um quadro delimitador de 4x4 no local especificada na janela
public void paintComponent( Graphics g )
{
super.paintComponent( g ); // limpa a área de desenho

// desenha todos os pontos no array
if (button = true){
g.setColor(Color.BLUE);
}else{
g.setColor(Color.WHITE);
}
for ( int i = 0; i < pointCount; i++ )
g.fillOval( points[ i ].x, points[ i ].y, 4, 4 );
} // fim do método paintComponent
} // fim da classe PaintPanel

Olá,

Você provavelmente esqueceu que a comparação em java é ‘==’ e não simplesmente ‘=’…

 // desenha todos os pontos no array
 if (button == true){    <<<<<<<<< FALTOU UM CARACTER "IGUAL"
   g.setColor(Color.BLUE);
 }else{
   g.setColor(Color.WHITE);
 } 

Grande abraço,
Hugo.

Que lerdeza a minha eim… mas ainda ta acontecendo o seguinte, quando clico com o botao esquerdo e arrasto ele desenha beleza no painel, quando clico com o botao direito ao inves de ele comecar apagar de onde eu estou comecando a arrastar ele apaga tudo q ja desenhei e se eu clicar com o botao esquerdo ele mostra tudo de novo.
e um erro logico, sera q alguem pode me ajudar?