Hasta ahora, todo lo que hemos hecho hasta ahora, había sido por consola. Pero en este punto, comenzamos a introducirnos en le mundo de las interfaces gráficas en Java.

Interfaces Gráficas (GUI)

Las interfaces gráficas de Java también son muy conocidas como GUI. GUI, es un termino que proviene de Graphical User Interface. Un ejemplo de GUI, podría ser una aplicación de escritorio para leer de PDFs.

Console User Interface (CUI)

Hasta ahora, como hemos comentado antes, hemos trabajado solamente con el concepto de CUI. CUI, proviene de Console User Interface y un ejemplo de CUI, sería la consola como con la que hemos realizado los programas hasta ahora.

Interfaz gráfica (GUI) vs Console User Interface (CUI)

CUI:

  • CUI, es rápida y sencilla de realizar.
  • No requiere grandes conocimientos.
  • El principal inconveniente de esta interfaz es la mala experiencia de usuario.

GUI:

  • GUI, es más lenta y compleja de realizar.
  • Requiere una base de formación y un conocimiento para cada tipo de interfaz gráfica.
  • Aporta una experiencia más visual al usuario.

Clasificación de las principales interfaces gráficas (GUI) de Java

Para empezar a explicar las interfaces, me gustaría primeramente recorrer los principales librerías para crear interfaces gráficas en Java. Y son:

  • AWT: significa Abstract Window Toolkit y la podríamos bautizar como la “old school”, la vieja escuela de las interfaces gráficas. Pese a ser la más antigua, también es la más completa. Y se centra en el sistema operativo (SO) para dibujar gráficos, por lo que cada SO o plataforma tendrá su propia GUI . Esto, significa que se verá diferente o tendrá un aspecto distinto en cada una de las plataformas. Como por ejemplo:

También hay que destacar de AWT que utiliza componentes nativos.

  • Swing: extiende de la librería gráfica AWT y proporciona un conjunto de componentes bastante “ligero”. Y que trata de tener el mismo comportamiento independientemente del SO o plataforma en el que se ejecuta.
  • JavaFX: se lanzó en Febrero de 2009 bajo el concepto de RIA (Rich Internet Applications) que tiene como finalidad crear aplicaciones para webs, tablets, tvs… Muy “parecidas” a las de escritorio. Un ejemplo, podría ser:
  • SWT: significa Standard Widget Toolkit. Conjunto de componentes para construir interfaces gráficas. Fue creada por IBM para ayudar en el desarrollo de Eclipse, y actualmente, se encarga el propio IDE Eclipse de su mantenimiento. Podemos decir, que es ideal para GUIs complejas y que tendrá un “aspecto” distinto en función del SO en el que se ejecute.

Aunque existen muchas más librerías para crear componentes gráficos, las listadas aquí arriba son las principales. En las próximas clases, empezaremos a trabajar con ellas. Un saludos javeros.