Programación en Java Swing

Vamos a repasar hoy algunos conceptos básicos de Java Swing. Sí, soy consciente de que se trata de unas librerías que actualmente están en desuso. Sin embargo, debemos tener en cuenta que en el mercado no sólo nos vamos a encontrar con proyectos de nueva creación y que, por tanto, en un momento dado nos puede tocar mantener una aplicación clásica. Nunca viene mal controlar algunos conceptos de bibliotecas antiguas o, al menos, saber dónde podemos informarnos sobre ellas. Y en esta línea, hoy vamos a dar unas pinceladas generales sobre la programación en Java Swing. 

 


Dicho de un modo sencillo, Java Swing consiste básicamente en una biblioteca con clases que nos permiten elaborar una interfaz gráfica para el usuario. En líneas generales, sirve para la creación de ventanas en las que se pueden mostrar una serie de componentes gráficos tales como botones, listas, cajas de texto, menús, combos, etc... Seguro que en algún momento de vuestra vida habéis navegado por alguna web que mostraba alguno de estos componentes.


Conceptos de Java Swing


En lo que respecta a la programación en Java Swing, básicamente hay tres conceptos que debemos conocer para entender correctamente su funcionamiento.


* Componentes Swing: a la hora de trabajar con la interfaz gráfica, Swing dispone de una serie de ventanas y componentes que se pueden mostrar al usuario. Estos componentes son los que nos van a permitir disponer de infinidad de combinaciones a la hora de crear una consulta que contenga determinada funcionalidad. La tipología de estos objetos es bastante variada: textos, combos, etiquetas, listas, menús, botones, etc...

 

Componente Menú de Java Swing

 

* Layouts Swing: también conocidos como Disposiciones, nos permiten organizar los componentes Swing dentro de un determinado contenedor. Básicamente nos sirven para colocar los objetos en las ubicaciones requeridas para que la interfaz gráfica se muestre tal y como desea el usuario. Existen diferentes tipos de Layouts, según la estructura que queramos establecer en nuestra ventana: FlowLayout, BorderLayout, GridLayout, GridBagLayout, BoxLayout, etc...


Estructuras básicas de Layouts de Java Swing


* Eventos Swing: el tercer concepto importante es el que hace referencia a los eventos. Un evento puede definirse como un cambio de estado de un objeto. Desde el punto de vista de la interfaz gráfica, se produce un evento cuando el usuario final interactúa con los componentes mostrados por pantalla. Los eventos que se activan pueden ser el clic de un botón, el desplazamiento, la selección de elementos de la lista, el cambio de texto, etc…


En relación con los eventos, hay que mencionar que un proceso Java Swing se pueden identificar los siguientes elementos:

1º) Objeto Fuente: El objeto en el que ocurre un evento es la fuente y la fuente es responsable de enviar información sobre el evento al controlador de eventos.

2º) Objeto Evento: Es la notificación desencadenada por la acción sobre el objeto Fuente. Dicha notificación viaja hasta el Listener.

3º) Objeto Listener: El Listener (oyente) no es más que el controlador de eventos responsable de realizar una acción cuando ocurre un evento. Un oyente es un objeto que espera un evento. Una vez que ocurre el evento, el oyente procesa el evento. Java Swing nos proporciona un elenco bastante amplio de tipologías de Listeners (tanto para componentes como para ventanas): ActionListener, KeyListener, WindowListener, MouseListener, FocusListener, etc...


Relación entre Fuente, Evento y Listener


En principio, teniendo en mente los conceptos mencionados anteriormente, ya tendríamos más clara la forma en la que se debe construir una interfaz gráfica mediante Java Swing. En líneas generales, hay que establecer los componentes precisados, la disposición (Layout) con la que se quieren mostrar en la ventana y los eventos que debe desencadenar cada una de las acciones del usuario. Obviamente, luego hay que construir todo el software por debajo, pero así no nos perderemos cuando las clases se empiecen a multiplicar en nuestro sistema.


Pues nada, eso es todo lo que quería comentar con respecto a Java Swing. Sólo se trata de un esbozo preliminar y en el futuro, si tengo tiempo, ya iré desarrollando los conceptos expuestos en el post. Mientras tanto, nos seguimos leyendo por aquí...

Saludos.


Comentarios

Entradas populares de este blog

Componentes y Ventanas de Java Swing

Creación de Webservice SOAP básico

Eliminar duplicados de una Lista en Java