package dibujar;
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
*
* @author Rafa
*/
public class Dibujar extends JPanel{
private int contPuntos = 0; //cuenta num puntos
private Point puntos[] = new Point[100000]; //Arreglo 10000 referencias
public Dibujar(){
addMouseMotionListener(
new MouseMotionAdapter(){ //clase interna anonima
public void mouseDragged(MouseEvent evento){
if(contPuntos < puntos.length){
puntos[contPuntos] = evento.getPoint();
contPuntos++;
repaint();
} //end if
} //end mouseDragged
} //end clase interna anonima
); //fin llamada addMouseMotionListener
} //end constructor
public void paintComponent(Graphics g){
super.paintComponent(g); //borra el area de dibujo
//dibuja puntos en el arreglo
for(int i=0; i<contPuntos; i++){
g.fillOval(puntos[i].x, puntos[i].y, 4, 4);
}
}
//Establece GUI y registra manejador eventos
public static void main(String[] args) {
JFrame app = new JFrame("Programa de dibujo");
Dibujar dibujar = new Dibujar(); //crea panel de dibujo
app.add(dibujar, BorderLayout.CENTER);
app.add(new JLabel("Arrastre el mouse para dibujar"), BorderLayout.SOUTH);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(500, 500);
app.setVisible(true);
}
}