Esta pequeña aplicación muestra como se puede el efecto de dibujar libremente con el uso del puntero del Mouse (tipo Paint de Windows). El código es sencillo, esta implementada en una solo clase y se hace uso de eventos del Mouse como mouseDragged y mouseMoved de la interfaz MouseMotionListener, implementado en un JFrame y el dibujo en componente JComponent.
El funcionamiento de esta aplicación se basa en los eventos del mouse, cuando se presiona, cuando se arrastra presionando y cuando se deja de presionar, cuando se presiona se ejecuta el evento MousePressed guardamos los ejes (x, y) iniciales, cuando vamos arrastrando el mouse se ejecuta el evento mouseReleased en ahí vamos dibujando lineas pixel por pixel (todo el gráfico dibujado libremente es simplemente dibujar lineas pequeñas unas después de otras) y guardamos las lineas en lugar para que cada vez que se repinte la pantalla dibuje las lineas, en este caso utilizamos un ArrayList y finalmente el evento mouseReleased que ocurre cuando dejamos de hacer clic en el mouse adicionamos la ultima linea al ArrayList. Notar que cada vez estamos pintando las lineas con eso obtenemos que siempre estarán ahi, si hacemos cualquier cambio en la visualización de la pantalla.
public void mousePressed(MouseEvent e) { inicioArrastre = new Point(e.getX(), e.getY()); repaint(); } public void mouseDragged(MouseEvent e) { finArrastre = new Point(e.getX(), e.getY()); Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, finArrastre.x, finArrastre.y); lineas.add(linea); inicioArrastre = new Point(finArrastre.x, finArrastre.y); repaint(); } public void mouseReleased(MouseEvent e) { finArrastre = new Point(e.getX(), e.getY()); Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, finArrastre.x, finArrastre.y); lineas.add(linea); repaint(); }
Si deseamos hacer un efecto de borrado a lo anterior lo único que deberíamos de hacer seria eliminar las lineas del ArrayList Este es un pequeño ejemplo para que luego hagamos cosas mas grandes.
Descargar Ejecutable (.jar)
Descargar Código Fuente (.java)
Muy pronto basado en este ejemplo presentaremos JPaint, un Paint pero hecho en Java. Si desean ver otras aplicaciones que muestran como dibujar figuras geométricas arrastrando el mouse ingresa aquí.
NO ME SALE CUANDO LO DESCARGUE EN PROYECTO SOLO ME SALE LA VENTANA, MAS NO BOTONES NI EL DIBUJO, TAL VEZ SERA POR LA VERSION, LA Q TENGO ES 6.5, TODAS MANERAS GRACIAS!
ResponderEliminartoca un punto con el mousse y arrastralo y ya se dibuja
Eliminaralguien me pude decir como hacer el juego Jackpot en el JFrame+NetBeans por favor
ResponderEliminarGracias macho, funciona genial.
ResponderEliminarMuy bueno gracias
ResponderEliminara endonde pongo el codigo
ResponderEliminarmuy bueno, gracias por compartir conocimientos
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarpodrías poner de nuevo el código porfavor
ResponderEliminarPor favor como puedo hacer para que cuando abra la aplicacion el mouse solo funcione dtro del cuadro es para conectarla a una tablet para capturar firma
ResponderEliminar