Contenedores Swing

Los contenedores Swing pueden clasificarse en dos grandes categorías:

  • Contenedores de nivel superior
  • Contenedores genéricos

 

CONTENEDORES DE NIVEL SUPERIOR

Son los que se sitúan en la parte superior de la jerarquía de contenedores de Swing. Existen  tres  contenedores  de  nivel  superior:  JFrame,  JWindow  y  JDialog.  Existe también una clase especial, JApplet, que, aunque no es estrictamente un contenedor de nivel superior, merece una mención porque debería utilizarse como elemento de nivel superior de cualquier applet que utilice componentes de Swing.

Las clases JApplet, JFrame, JDialog y JWindow derivan respectivamente de las clases Applet, Frame, Dialog y Window. Es importante tenerlo en cuenta porque el resto de contenedores y componentes de Swing derivan de clases JComponent.

 

JApplet; Un applet es una aplicación Java que se incrusta en una página Web. Este contenedor sirve para desarrollar Applets. Todos los elementos que forman parte de la interfaz gráfica de un Applet están contenidos dentro de una clase que extiende a la clase JApplet,  de ahí que en última instancia  herede  propiedades  y métodos  de la clase Container.

JFrame; Un contenedor de este tipo se muestra como una ventana de Windows con bordes,  barra  de  títulos,  botones  para  minimizar,  maximizar  y  cerrar  la  ventana. También admite barra de menús.

JDialog; Sirve para crear ventanas de diálogo. Este tipo de ventanas se integran en las aplicaciones y Applets y se utilizan para mostrar al usuario mensajes. Los diálogos más conocidos son aquellos que indican al usuario algún tipo de alerta.

 

JWindow; Un contenedor de este tipo es muy similar a un JFrame pero este no tiene bordes y tampoco soporta barra de menús.

 

CONTENEDORES GENÉRICOS

Los contenedores genéricos se emplean para encapsular partes de una aplicación o un Applet. Se podrían ver como subcontenedores o un contenedor embebido en otro contenedor de nivel superior.

Los contenedores  genéricos  heredan  de javax.swing.JComponent.  Veamos  algunos de ellos:

JPanel;  Éste  es  sin  duda  alguna  uno  de  los  componentes  más  empleados  en  la creación de interfaces gráficas. Un JPanel describe un área que agrupa a otros componentes y se integra dentro de una aplicación de la misma forma que lo hacen otros controles básicos como por ejemplo un botón (JButton) o una etiqueta (JLabel).

Los componentes JPanel son muy fáciles de manejar y permiten organizar la interfaz no sólo desde un punto de vista visual sino además  para agrupar  funcionalidades. Cuando  se crean  interfaces  gráficas  complejas  una de las prácticas  más comunes consiste  en  desarrollar  clases  específicas  que  extienden  a  la  clase  JPanel  para aglutinar  partes  de  la  aplicación  que  comparten  un  espacio  común  y  una  función concreta dentro de la aplicación o el Applet.

 

 

JScroIIPane; Prácticamente cualquier elemento dentro de una interfaz gráfica puede tener barras de desplazamiento de forma que el usuario pueda ver aquellas partes que quedan ocultas debido a la limitación de espacio.

 

JSplitPane; Este tipo de contenedor permite agrupar dos componentes uno al lado del otro, o uno encima del otro. Entre ambos se muestra una barra de forma que cuando el usuario hace clic y desplaza la barra, las áreas de los dos componentes mostrados cambian de tamaño.

JTabbedPane; Este contenedor se emplea para distribuir otros componentes en pestañas.

JTooIBar; La clase JToolBar se emplea para crear la barra de herramientas. Normalmente éstas están formadas por botones, listas y otro tipo de controles básicos, aunque como contenedor un componente  JToolBar puede agrupar cualquier tipo de componente.