¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. JAVA 8
  3. Aplicaciones gráficas
Extrait - JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)
Extractos del libro
JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos) Volver a la página de compra del libro

Aplicaciones gráficas

Introducción

Hasta ahora, todos los ejemplos de código que hemos realizado funcionan exclusivamente en modo texto. La información se visualiza en una consola y también se informa desde dicha consola. La sencillez de este modo de funcionamiento supone una ventaja innegable para el aprendizaje de un lenguaje. Sin embargo, la mayoría de los usuarios de las futuras aplicaciones seguramente esperan disponer de una interfaz un poco menos austera que una pantalla en modo texto. En este capítulo vamos a estudiar cómo funcionan las interfaces gráficas con Java. Se dará cuenta enseguida de que el diseño de interfaces gráficas en Java no es tan sencillo y requiere escribir muchas líneas de código. En la práctica, contará con varias herramientas de desarrollo, capaces de encargarse de la generación de una gran parte de este código según el diseño gráfico de la aplicación que esté dibujando. Sin embargo, es importante entender correctamente los principios de funcionamiento de este código para intervenir en él y eventualmente optimizarlo. En este capítulo, no emplearemos ninguna herramienta específica, sólo conservaremos nuestro propio editor de texto, un compilador y la máquina virtual.

1. Las bibliotecas gráficas

El lenguaje Java propone dos bibliotecas dedicadas al diseño de interfaces...

Diseño de una interfaz gráfica

Hemos visto un poco más arriba que cualquier aplicación gráfica se compone de, al menos, un contenedor de primer nivel. La biblioteca Swing dispone de tres clases que permiten llevar a cabo este papel:

JApplet: representa una ventana gráfica incluida en una página html para que un navegador se haga cargo de ella. Se estudia este elemento en detalle en el capítulo correspondiente.

JWindow: representa la ventana gráfica más rudimentaria que pueda existir. No dispone de ninguna barra de título, ningún menú de sistema, ningún borde: en realidad es un mero rectángulo. Esta clase se utiliza rara vez excepto para la visualización de una pantalla de inicio en el momento del arranque de una aplicación (splash screen).

JFrame: representa una ventana gráfica completa y plenamente funcional. Dispone de una barra de título, de un menú de sistema y de un borde. Puede fácilmente contener un menú y, por supuesto, es el elemento que vamos a emplear en la mayoría de los casos.

1. Las ventanas

La clase JFrame es un elemento indispensable en cualquier aplicación gráfica. Como en el caso de una clase normal, debemos crear una instancia, modificar eventualmente las propiedades y utilizar los métodos. A continuación se muestra el código de la primera aplicación gráfica.


package es.eni; 
import javax.swing.JFrame; 
public class Main { 
     public static void main(String[] args) 
     { 
          JFrame ventana; 
          // creación de la instancia de la clase JFrame 
          ventana=new JFrame(); 
          // modificación de la posición y del 
          // tamaño de la ventana 
          ventana.setBounds(0,0,300,400); 
          // modificación del título de la ventana 
          ventana.setTitle("primera ventana en JAVA"); 
          // visualización de la ventana 
          ventana.setVisible(true); 
     }
 

y el resultado de su ejecución:

images/4fig1.PNG

Es fácil de usar y muy eficaz. De hecho, es tan eficaz que no se puede parar la aplicación. En efecto, incluso si el usuario cierra la ventana, este cierre no provoca la supresión de la instancia de JFrame de la memoria. La única solución para detener la aplicación es apagar la máquina virtual Java con la combinación...