Saltar al contenido
gradosuperiordam.top

Ejercicios resueltos de Desarrollo de interfaces

La mayoría de temas de esta asignatura me parecen poco útiles para el mercado laboral porque aprender a hacer interfaces en java usando java swing para aplicaciones de escritorio y la gran mayoría de empresas se dedican a hacer desarrollo web y la parte del front no la hacen con java sino con html, css, javascript y se apoyan en algún framework como podría ser Angular.

Para la resolución de estos ejercicio recomiendo un canal donde explica bastante bien muchos ejercicios parecidos a los que te van a entrar y os dejaré la lista de reproducción de cada tema.

Tema 1. Confección de interfaces de usuario

La primera tarea es la creación de una interfaz para la reserva de salones de un hotel hecha con Java Swing. Mi recomendación para este ejercicio es que no os esforcéis demasiado y hagáis algo básico porque más adelante os pedirán que cojáis esta aplicación y la mejoréis.

En mi opinión, si os piden eso más adelante os costará menos hacerlo que si lo hacéis ahora que no tenéis mucha idea de Java Swing

Ejercicio_Resuelto_Desarrollo_Interfaces_01

Tutorial Java Swing

Esta lista de reproducción es un poco larga pero merece la pena porque lo explica bastante bien aunque algunos vídeos quizá todavía no los vería como por ejemplo «Validación usando ValidationAPI» porque lo veréis más adelante, «Extensión de la librería ValidationLib» porque seguramente ni trabajeis con esa librería.

Por otra parte, los que sí recomiendo son:

  • «Atajos de teclado en Netbeans» porque os hará trabajar bastante más rápido
  • «Uso básico de Git en NetBeans» para mi el uso de git es muy útil y que tendréis que aprender sí o sí porque la gran mayoría de empresas usa Git y si no es Git será otro sistema de control de versiones.
  • «Depuración de código» aunque para este tema es opcional lo recomiendo mucho porque os enseña a trabajar con el «debug» y para mí es algo imprescindible que te ahorra mucho tiempo al testear tu aplicación.

Tema 2. Elaboración de interfaces mediante documentos XML

En este tema tienes que volver a hacer la interfaz de la aplicación para la reserva de salones de un hotel pero en vez de con Java Swing usando XML.

Aunque para ello no tendréis que ir escribiendo el diseño en XML a mano porque sería un poco locura, sino que podrás usar QtJambi que tiene una interfaz similar a la que te ofrece NeatBeans con Java Swing donde irás arrastrando los elementos necesarios para crear la interfaz.

Lo malo que tiene es que esa interfaz que has creado con QtJambi te generará archivos .jui que tendrás que compilar para que a partir de ese obtengas el .java. Se que parece denso y lo es, por eso haré un tutorial donde explicaré como instalar y configurar QtJambi y como hacer la compilación del .jui.

DI02_gradosuperiordamtop

La pena es que este tema el canal de «Desarrollo de interfaces» los vídeos que hizo fue de desarrollar interfaces a partir de XML pero usando .NET por lo que no nos sirve ?

Tema 3. Creación de componentes visuales

Para este tema os recomiendo mucho que os veáis la lista de reproducción que os dejo más abajo porque lo explica todo bastante claro.

Tutorial de Creación de Componentes Visuales en Java con NetBeans

Ahora sí, ya que has visto los tutoriales puedes ver el ejercicio resuelto. Lo digo en serio, puede ser un poco pesado ver los vídeos pero os ahorrará tiempo a la hora de hacer el ejercicio ?

En el ejercicio de este tema tendrás que crear un componente Java Swing y después hacer un .jar del proyecto para posteriormente poder meter el .jar en otro proyecto y probar el componente que hemos creado. El componente que se tenía que crear en la tarea era el de un reloj digital y había que hacer que cambiase de formato de 12 a 24 horas si pulsabas un checkbox y que tuvieras la posibilidad de ejecutar un programa a la hora que se programe.

Aunque seguro que lo entenderéis mejor leyendo el enunciado. Una cosa que os recomiendo es NO OS COMPLIQUEIS, porque yo creé como un componente personalizado para poder poner la hora de ejecución del programa que es un coñ*** y luego me dijo el profesor en la corrección que no era necesario, y yo tal que así ?

DI03

Tema 4. Usabilidad

Este tema me gustó bastante porque me pareció sencillo y simplemente era coger el ejercicio anterior del componente que habíamos creado y adaptarlo un poco para que fuese más intuitivo de usar para el usuario y también aprender a cómo cambiar el tema de las ventanas de Java Swing y poco más.

DI04

Tutorial modificar Look And Feel

En este tema hay un par de vídeos sencillos donde te explican cómo cambiar el tema de las ventanas de Java Swing. De todas formas con ver el primero creo que es suficiente para poder resolver el ejercicio si os piden algo similar a lo que yo hice

Tema 5. Informes

Por si no lo sabéis, hacer un informe en Java es un suplicio hagáis como lo hagáis y con la herramienta que se usa este tema, iReports, pasa lo mismo. Así que paciencia y no frustrarse que os he incluido una guía de cómo instalar y configurar la aplicación de iReports y el plugin de NetBeans.

¿Programa de iReports o plugin de iReports para NetBeans?

Pues no sabría que decirte porque este ejercicio lo hice con el plugin para NetBeans pero luego en el examen nos dijeron que instalásemos iReports porque viene con una base de datos de test que se usará en el examen. Así que… lo que prefieras, yo te dejaré el manual para instalarlo y configurarlo.

También os dejo un pequeño tutorial de cómo ejecutar la BBDD de test, pero nunca lo he probado a hacer de esa forma por lo que no me hago responsable si no funciona.

Tutorial instalación iReports

Guia_instalacion_iReport

Ver datos de test de iReports

Ver-datos-iReports-test

Tutorial iReports

Y para no variar, el canal de «Desarrollo de interfaces» también tiene una lista de reproducción de iReports que viene bastante bien

Tema 6. Documentación de aplicaciones

Si ya hacer la documentación y las validaciones de formularios es una de las cosas más pesadas en el desarrollo software el hacer el típico botón de «Ayuda» con JavaHelp que aparece en algunos programas de escritorio y las validaciones con ValidationAPI es más pesado aún. Pero no os preocupéis que tendréis tiempo de verlo por vosotros mismos si os mandan una tarea parecida a la que me mandaron a mi.

DI06

Tutorial JavaHelp

Aunque en la carpeta de ejercicios resueltos os he incluido un tutorial de cómo usar JavaHelp hay cosas que se entienden mucho mejor en vídeo, así que os dejo un tutorial de cómo crear un sistema de ayuda en Java

Tema 7. Distribución de aplicaciones

Por fin van llegando los temas que me parecen más interesantes. En este tema se tiene que transformar el famoso programa que hicimos al principio de gestión de salones de un hotel en un programa instalable.

Aunque este no sea el proceso que se realiza dentro de una empresa, pero por lo menos, en esta no tienes que crear el .jar y ya está. Sino que tienes que tocar la configuración para que te copie una carpeta que está dentro del proyecto a la ruta que quieres para que funcione correctamente. Esos detalles aunque sean una chorrada casi nunca se explican y alguna vez te tocará hacerlo de forma parecida cuando trabajes.

DI07

Tema 8. Realización de pruebas

Supongo que a estas alturas habrás escuchado alguna vez que una aplicación siempre debería tener test porque de esta forma si se rompe algo durante el proceso es mucho más fácil detectarlo o cosas similares ¿no?.

Pues es cierto, si la empresa en la que vayas a trabajar es medianamente decente te tocará por lo menos hacer test unitarios en JUnit de lo que programes. Porque sino al final se programa una funcionalidad, luego el cliente pide que se modifique x cosa, después que haga otra cosa.

Al tiempo, puede que la persona que programó todo esto ni esté en la empresa y te toque modificar ese método que ni siquiera estás seguro qué hace y que cambiar una simple chorrada rompa una cosa en la otra punta del programa.

Si hubiera habido test desde el principio, cuando hubieras tocado ese código un test habría fallado y te habrías dado cuenta de que has roto una parte del programa, lo arreglarías en un momento y el cliente no se habría dado cuenta de que te has cargado su programa. Ahora tiene sentido por qué las empresas están interesadas en hacer test ¿Verdad?

DI08

Y hasta aquí llega desarrollo de interfaces de segundo, pero no te olvides del resto de asignaturas…

Otras asignaturas de segundo de DAM

Índice
Ajustes