Actualizado el 24 de Septiembre del 2020 (Publicado el 4 de Junio del 2020)
698 visualizaciones desde el 4 de Junio del 2020
2,1 MB
43 paginas
Introducción al desarrollo de aplicaciones de
escritorio con Swing Application Framework
Miguel Velasco (jVel)
Contenido
Introducción .....................................................................................................................................................5
Tecnología....................................................................................................................................................5
La aplicación ................................................................................................................................................5
El modelo de datos.......................................................................................................................................5
Desarrollo.........................................................................................................................................................6
Creando el Proyecto .....................................................................................................................................6
Actualizando la información de la aplicación..............................................................................................8
Creando una pantalla de edición de datos....................................................................................................8
Creando las entidades JPA...........................................................................................................................9
Accediendo a los datos...............................................................................................................................11
Incluyendo el Driver de Oracle..................................................................................................................21
Añadiendo barras de progreso....................................................................................................................23
Creando una vista maestro-detalle .............................................................................................................24
Creando un diálogo para editar datos.........................................................................................................26
Añadiendo disparadores para cambios de propiedades..............................................................................29
Utilizando el diálogo..................................................................................................................................30
Añadiendo un renderizador para los ComboBox.......................................................................................32
Añadiendo notificación al seleccionar temas.............................................................................................33
Continuando con el maestro-detalle...........................................................................................................35
Completando la aplicación.........................................................................................................................41
Conclusiones ..................................................................................................................................................42
Referencias.....................................................................................................................................................43
Modelo de datos 1
Nuevo proyecto 2
Nueva aplicación de escritorio 3
Navegador de proyectos 4
Propiedades de la aplicación 5
Nuevo panel 6
Creación de entidades 7
Creación de entidades 8
Creación de entidades 9
Nuevo entity manager 10
Código del entity manager 11
Nuevo bean 12
Propiedad observable 13
Propiedad type parameters 14
Código de creación de la lista 15
Código personalizado 16
Named Queries 17
Enlace de datos 18
Definición de columnas 19
Nuevo action 20
Código addState 21
Código deleteState 22
Código saveStates 23
Código isStateSelected 24
Código listSelectionListener 25
Código deleteState 26
Nuevo action 27
Código statesAdministration 28
Anotaciones secuencia 29
Configuración de la unidad de persistencia 30
Driver de Oracle 31
Aplicación 32
Código SaveStatesTask 33
Código saveStates 34
Inspección del TasksPanel 35
Código de creación de la lista de temas 36
Columnas 37
Diseño de TaskDialog 39
Inspección de TaskDialog 38
Enlace de datos 40
Creación de getter y setter 41
Definición del PropertyChangeSupport 43
Código de sabe y cancel 42
Código de setNota 44
Código de propertyChangeListeners 45
Código de addTask 46
Código de modifyTask 47
Código de deleteTask 48
Menú 49
Aplicación 50
Código de StateCellRenderer 51
Edición de la propiedad renderer 52
Código para el propertyChangeSupport 53
5
6
7
7
8
9
10
10
11
12
12
13
13
14
14
15
15
16
16
17
17
18
18
18
19
19
20
20
20
21
22
23
24
24
25
25
26
27
27
28
28
29
29
30
30
30
31
31
31
32
32
33
34
Aplicación 54
Columnas 55
Código de listSelectionListener 56
Navegador de librerías 57
Diálogo 58
Propiedad calendar 59
Código de NotasDialog 60
Código addNote 62
Código NotasDialog 61
Código modifyNote 63
Código deleteNote 64
Anotación deleteCascade 65
Código repaintNotes 66
35
36
36
37
37
38
39
40
39
41
41
42
42
Introducción
Swing Application Framework es una iniciativa que, como su nombre indica, pretende
construir un framework para el desarrollo de aplicaciones de escritorio utilizando
tecnología Swing. Su desarrollo se está haciendo mediante
la JSR-296 que,
lamentablemente, se encuentra actualmente (agosto de 2010) inactiva.
No obstante, la última versión del IDE NetBeans, la 6.9.1, viene preparada para trabajar
con esta tecnología, que ofrece una forma de trabajo muy interesante para aquellos que
desarrollan aplicaciones de escritorio en Java.
En este tutorial vamos a desarrollar una sencilla herramienta para gestión de tareas,
fijándonos en algunas de las aportaciones del framework.
Tecnología
Para el desarrollo trabajaremos con NetBeans 6.9.1, y con una base de datos Oracle. La
vista de la aplicación se hará lógicamente utilizando Swing, mientras que el acceso a
datos lo haremos por medio de JPA.
La aplicación
Desarrollaremos una sencilla aplicación de gestión de tareas, que nos permitirá gestionar
los temas que tenemos pendientes en nuestro trabajo, e ir añadiendo información con la
que facilitar su seguimiento.
El modelo de datos
El modelo de datos de nuestra aplicación se compondrá de tres tablas en las que se
almacenará información acerca de los temas o tareas, y de sus estados, y que nos
permitirá asociar anotaciones a los temas.
Modelo de datos 1
En los recursos adjuntos al tutorial están los scripts para generar las tablas (carpeta scripts
del proyecto).
Desarrollo
Creando el Proyecto
Para comenzar el desarrollo, lo primero que tenemos que hacer es crear un nuevo
proyecto en NetBeans, accediendo a la opción File – New Project.
Nuevo proyecto 2
Como se puede observar, elegiremos, dentro de la categoría Java, el tipo de proyecto Java
Desktop Application. En el siguiente paso, tras ver la advertencia de que el desarrollo de
la JSR del SAF ha sido detenido, podemos poner un nombre y seleccionar una ubicación
para nuestro proyecto. Además tenemos que seleccionar la clase principal de la
aplicación que vamos a crear. Por último, podemos elegir el tipo de aplicación: básica, o
de acceso a datos. Seleccionaremos la opción básica para ir creando desde cero la mayor
parte de los elementos que necesitamos. Una vez visto el tutorial, sería interesante probar
la opción de acceso a datos, que crea gran parte de la estructura del proyecto, facilitando
mucho las cosas.
Nueva aplicación de escritorio 3
El IDE crea automáticamente tres clases: GestorDeTareasApp, GestorDeTareasView, y
GestorDeTareasAbautBox.
Navegador de proyectos 4
La clase GestorDeTareasApp es la clase principal de nuestra aplicación, y hereda de la
clase SingleFrameApplication de SAF. Podemos ver que contiene un método main en el
que se lanza la propia aplicación, y los métodos heredados startup y configureWindow,
que serán llamados por el framework. En startup hay una simple llamada al método show
para mostrar la vista de nuestra aplicación: GestorDeTareasView.
Si abrimos esta otra clase con el editor de texto, veremos que hereda de la clase
FrameView de SAF. Esta será la ventana de nuestra aplicación, a la que NetBeans ya le
ha puesto por nosotros una barra de menú y una barra de estado.
Por último, tenemos la clase GestorDeTareasAbautBox, que es el típico diálogo con
información sobre la aplicación. Además de las tres clases, podemos ver que hay otro
paquete, resources, en el que encontraremos un fichero properties por cada una de ellas.
Actualizando la información de la aplicación
Cuando trabajamos con SAF, el objetivo es que todos los textos se definan en un fichero
de propiedades, y nunca en las propias clases, buscando las conocidas ventajas: facilidad
para la internacionalización, no necesidad de recompilar código...
Un primer paso en el desarrollo puede ser sencillamente modificar los textos de la
ventana
fichero
GestorDeTareasApp.properties.
información
sobre
la
de
aplicación,
cambiando
el
Propiedades de la aplicación 5
También podemos edita
Comentarios de: Introducción al desarrollo de aplicaciones de escritorio con Swing Application Framework (0)
No hay comentarios