Herramientas de usuario

Herramientas del sitio


bloque4:windowbuilder

WindowBuilder

WindowBuilder es un plugin de código abierto para Eclipse destinado a crear interfaces gráficas de usuario (GUI) de forma rápida y sencilla. Como otros muchos sistemas de este tipo, contiene una paleta de elementos que podemos añadir mediante “drag and drop”, arrastrar y soltar. En lugar de tener que escribir el código a medida que vamos incluyendo elementos gráficos en nuestra ventana, WindowBuilder nos genera el código en nuestras clases.

Aunque WindowBuilder sea una herramienta de gran ayuda, necesitamos comprender la estructura con la que WindowBuilder crea clases para poder modificarla y darle un formato a las clases que nos ayude a separar y entender el programa.

Instalación de WindowBuilder

Para poder descargar WindowBuilder iremos en Eclipse a la pestaña Help y ahí a Eclipse MarketPlace…. Buscamos el Plugin por su nombre (WindowBuilder) en el campo buscar, y una vez que lo haya encontrado, pulsamos sobre instalar.

Al terminar la instalación, reiniciamos Eclipse y ya podremos trabajar con él.

Crear un proyecto con ventanas

WindowBuilder está compuesto de varias herramientas para crear interfaces gráficas de usuario. Nosotros vamos a trabajar únicamente con los componentes Swing. Para ello usaremos la herramienta Swing Designer de WindowBuilder.

A diferencia de otras librerias gráficas, las librerías de Swing son nativas de Java por lo que son independiente de la plataforma. Aun así hay otras librerías gráficas para java como SWT, AWT, etc.

Por convenio, en Java una aplicación de escritorio empleará un contenedor principal de tipo JFrame. Si además contiene otras ventanas secundarias dentro del programa emplearemos contenedores de tipo JDialog para estas ventanas secundarias.

Creamos un proyecto de la misma forma que lo hacemos siempre:

Creamos una clase JFrame para una ventana. Dentro de nuestro proyecto, en algún package haremos lo siguiente. Debemos usar los componentes de Swing o de la sección Swing Designer de WindowBuilder:


También podemos acceder de forma rápida al menú de WindowBuilder mediante su nuevo botón, siempre seleccionando Swing como componentes gráficos:

Una vez creada la clase nos aparecerá una nueva vista, desde la cual podemos acceder al código o al diseño a través de las pestañas inferiores.

Establecer un Layout en mi ventana

Para poder emplazar elementos en una ventana de cualquier tipo debemos indicar una organización (Layout). Si no queremos complicarnos demasiado con un layout podemos trabajar de forma sencilla con AbsoluteLayout. Con este Layout podemos emplazar los elementos en el lugar que queramos, aunque no quedará tan bién a la hora de redimensionar la ventana.

Por defecto toda aplicación JFrame emplea un JPanel principal de contenido contentPane. En el iremos arrastrando todos los elementos que queramos emplear. Para aplicar un layout a nuestra ventana tan solo tenemos que pinchar sobre el layout que queremos usar y pinchar después sobre la ventana.

Si queremos aprender el manejo de otros layout podemos acceder a la documentación oficial de Java en Oracle: https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

Exportar fichero ejecutable con nuestra aplicación

Desde el menú File, export… podremos crear un Jar Ejecutable para ejecutar con un doble click nuestra aplicación en cualquier equipo que tenga la máquina virtual de Java (JVM). Para ello necesitamos que el equipo en el que será ejecutado tenga el paquete JRE de Java.

Indicaremos Runnable Jar , indicaremos la clase que contiene el método main (si no aparece, bastará con ejecutar la clase main previamente), le daremos nombre al Jar Ejecutable e indicaremos el lugar donde queremos crearlo.

La plataforma Java, no necesita un fichero exe para ejecutar (traducir el código a código máquina) una ventana, porque la ventana en sí (p.e. JFrame) es un componente nativo de Java, y sabe perfectamente como traducirlo.

Por último recordar que se debe marcar la opción de empaquetar librerías en el JAR si mi programa incluye otros JAR con librerías.


© 2020 Fernando Valdeón

bloque4/windowbuilder.txt · Última modificación: 04/01/2019 13:13 (editor externo)