jueves, 21 de febrero de 2013

Dibujar con Java

La salida por consola vale, pero... ¿no molaría más dibujar?




De entre todos los métodos que pueden haber para dibujar con Java vamos a hacerlo con código y no a golpe de ratón. Esto va a ser sencillo, para diseños más conplejos sí que es más rentable hacerlo a golpe de ratón.

Antes de escribir código, necesitamos crear una clase más aparte de la clase principal, la llamaremos Dibujos:


Piensa que para hacer un dibujo, hace falta un lugar en el que dibujar y otro para mostrarlo. De esto se encargan nuestros amigos JPanel y JFrame.

JPanel es una librería de Java (javax.swing.JPanel, hay que importarla para trabajar con ella) que hace el papel de lienzo, por decirlo de algún modo, y es donde vamos a meter las cosas que dibujemos. Para dibujar cosas tenemos que echar mano de otra librería: Graphics (java.awt.Graphics, se importa).
Vamos a meter el JPanel en la clase Dibujos que hemos creado. Hacemos que la clase principal Dibujos sea una subclase de JPanel y así toma sus características, dentro de la clase creamos un método public void llamado paint, y como atributo le pasaremos un objeto de tipo Graphics, ya verás por qué.
Así lo tenemos hasta ahora:



Dejemos eso así y vallámonos al JFrame.

JFrame es otra librería (javax.swing.JFrame) que genera una ventana. Es indispensable para mostrar el contenido del JPanel, y así ver lo que vamos haciendo.

En la clase principal dibujar_ejemplo (la que se genera al crear el proyecto) importamos la librería y en el main creamos un objeto de tipo JFrame llamado ventana. También creamos un objeto de tipo Dibujos (la otra clase principal) llamado dibujo:



Vamos a darle forma al JFrame. Esta librería tiene multitud de métodos. Pondremos los principales, si quieres saber sobre más, Netbeans te despliega la lista cuando escribes ventana. para indroducir un método.
Pon justo debajo:



La primera línea indica que al cerrar la ventana finaliza la aplicaación. En la segunda metemos el objeto dibujo en el JFrame para que lo muestre. En las siguientes, ajustamos el tamaño de la ventana, el título y le decimos que sea visible. Esto es lo básico para crear una ventana.

Una vez que hemos hecho la ventana y le hemos dicho que muestre los dibujos... ¡habrá que dibujar!
Volvemos a la clase Dibujos, al método paint. Para dibujar algo hay que utilizar un método al objeto Graphics que le pasamos por parámetro (yo lo he llamado g). Esta librería tiene otro montón de métodos, no los veremos todos.

Aquí hay algunos ejemplos:



El primero nos genera texto en las coordenadas que le pongamos (x,y), dentro del JPanel. El segundo crea un rectángulo como origen las dos primeras cifras (x,y), ancho la tercera y alto la cuarta (-200 es que va hacia abajo). El tercero dibuja un óvalo inscrito en el rectángulo con las coordenadas que le pasamos.

Todas las cosas que dibujemos nos las crea con el color por defecto (prácticamente negro). Para cambiar el color, importamos la librería java.awt.Color y justo antes de dibujar algo ponemos la sentencia que indica el color con el que lo vamos a dibujar:



Cambia red por el color que quieras (green, orange, pink...), están en la lista desplegable.

Y ya está, eso es lo básico, ¡comenta, comparte, etc etc!


No hay comentarios: