Hoy en el curso de Java de RedesZone vamos a continuar con las GUIs, en concreto, vamos a hacer un ejemplo de como se puede utilizar la clase Graphics en un panel y como se pueden dibujar las figuras utilizando los métodos que nos ofrece este paquete de Java.
También aprenderemos que para que el panel pueda visualizarse es necesario insertarlo en el interior de una ventana. Tenéis que tener muy presente una cosa que os mencionamos en el anterior volumen del curso de Java, y es que el eje de coordenadas del panel, para pintar las figuras no es como el de siempre si no que en este caso, Java toma como referencia la esquina superior izquierda, por lo tanto esa esquina se trata del punto (0,0).
Vamos por lo tanto a meternos con el ejercicio de hoy.
Es muy importante tener en cuenta a la hora de realizar este ejercicio que un panel por sí solo, no puede mostrarse y que para eso es necesario crear una ventana. Por lo tanto el esquema de este ejercicio será:
- En primer lugar crearemos una clase que será el panel donde podremos dibujar todo lo que queramos.
- Tendremos que crear la ventana en la cual crearemos un objeto del panel que contiene los dibujos para que una vez creemos la ventana, podremos mostrar los dibujos.
En primer lugar vamos a crear el panel de los dibujos
La clase como podéis ver extiende de JPanel y se trata de una clase muy sencilla, no tiene constructor, solo posee el método paintComponent, al cual se le pasa como parámetro un objeto de la clase Graphics que nos valdrá para así poder utilizar los métodos que queramos. Si queremos pintar una figura de un color distinto al predeterminado, es necesario cambiarlo antes de proceder a dibujar esa figura ya que sino su color será el mismo que las anteriores.
Vamos ahora con el código de la clase que corresponde con la ventana que va a contener este panel:
En la parte de arriba se encuentra el método main que se encargará de lanzar la ventana con el panel. En el constructor de la ventana vemos como asociamos el panel de dibujos a la ventana con el método setContentPane(nombre del panel). El resto se trata de atributos propios de la ventana.
Si le damos a ejecutar nos saldrá la siguiente ventana…
Tal vez lo que más os llame la atención es que para que las líneas salgan de un tamaño más o menos considerable hay que poner números muy grandes. El motivo es porque Java no toma las medidas en centímetros, como se puede llegar a pensar en un primer momento, sino que se trata de píxeles, por eso de cantidades tan grandes.
Os dejamos a vuestra elección que en esa ventana sigáis colocando figuras. Los constructores por si no os acordáis de ellos los tenéis en la entrega anterior del curso de Java.
En la próxima entrega, os plantearemos un ejercicios para que vosotros tratéis de hacerle. Será un ejercicio que combinará los paneles con dibujos con la colocación de objetos (botones, etiquetas, espacios de texto,…) y la utilización de los gestores de distribución. Pero no os preocupéis, ya que será fácil.