Desarrollando una GUI Java

GUI significa Interfaz gráfica de usuario, un término utilizado no solo en Java sino en todos los lenguajes de programación que admiten el desarrollo de GUI. La interfaz gráfica de usuario de un programa presenta una pantalla visual fácil de usar para el usuario. Está formado por componentes gráficos (por ejemplo, botones, etiquetas, ventanas) a través de los cuales el usuario puede interactuar con la página o la aplicación..

Para hacer interfaces gráficas de usuario en Java, use Swing (aplicaciones más antiguas) o JavaFX.

Elementos tipicos

Una GUI incluye una variedad de elementos de la interfaz de usuario, lo que significa todos los elementos que se muestran cuando trabaja en una aplicación. Estos pueden incluir:

  • Controles de entrada como botones, listas desplegables, casillas de verificación y campos de texto..
  • Elementos informativos como etiquetas, pancartas, iconos o cuadros de diálogo de notificaciones..
  • Elementos de navegación, como barras laterales, migas de pan y menús..

Java GUI Frameworks: Swing y JavaFX

Java ha incluido Swing, una API para crear interfaces gráficas de usuario, en su edición estándar de Java desde Java 1.2 o 2007. Está diseñado con una arquitectura modular para que los elementos sean fáciles de conectar y reproducir y se puedan personalizar. Durante mucho tiempo ha sido la API elegida por los desarrolladores de Java al crear GUI.

JavaFX también ha existido durante mucho tiempo: Sun Microsystems, que era propietario de Java antes que el propietario actual Oracle, lanzó la primera versión en 2008, pero realmente no ganó tracción hasta que Oracle compró Java a Sun.

La intención de Oracle es reemplazar eventualmente Swing con JavaFX. Java 8, lanzado en 2014, fue el primer lanzamiento en incluir JavaFX en la distribución principal.

Si eres nuevo en Java, debes aprender JavaFX en lugar de Swing, aunque es posible que necesites entender Swing porque hay muchas aplicaciones que lo incorporan y muchos desarrolladores todavía lo usan activamente..

JavaFX presenta un conjunto completamente diferente de componentes gráficos, así como una nueva terminología y tiene muchas características que interactúan con la programación web, como el soporte para Cascading Style Sheets (CSS), un componente web para incrustar una página web dentro de una aplicación FX, y la funcionalidad para reproducir contenido web multimedia. 

Diseño y usabilidad

Si es un desarrollador de aplicaciones, debe tener en cuenta no solo las herramientas y los widgets de programación que usará para crear su GUI, sino también conocer al usuario y cómo interactuará con la aplicación.

Por ejemplo, ¿la aplicación es intuitiva y fácil de navegar? ¿Puede su usuario encontrar lo que necesita en los lugares esperados? Sea coherente y predecible sobre dónde coloca las cosas; por ejemplo, los usuarios están familiarizados con los elementos de navegación en las barras de menú superiores o en las barras laterales izquierdas. Agregar navegación en una barra lateral derecha o en la parte inferior solo hará que la experiencia del usuario sea más difícil.

Otros problemas pueden incluir la disponibilidad y el poder de cualquier mecanismo de búsqueda, el comportamiento de la aplicación cuando se produce un error y, por supuesto, la estética general de la aplicación.

La usabilidad es un campo en sí mismo, pero una vez que haya dominado las herramientas para crear GUI, aprenda los conceptos básicos de usabilidad para asegurarse de que su aplicación tenga un aspecto que la haga atractiva y útil para sus usuarios..