Sunteți pe pagina 1din 14

1.

AWT SWING
Para la creacin de formularios para el desarrollo de aplicaciones desktop del estilo cliente/servidor, java
dispone de un conjunto de clases e interfaces que estn agrupadas en una especificacin que se le conoce
con el nombre JFC, la cual especifica un conjunto de caractersticas para escribir aplicaciones GUI y aadir
fundiconalidades ricas e interactivas a las aplicaciones Java. Entre las caractersticas que tiene JFC estn
las siguientes:

Componentes GUI.- Incluye una gran cantidad de componentes que van desde campos de texto
a elementos complejos tales como tablas, split, paneles mixtos.

Look and Feel.- Se refiere a los diferentes Skins que se pueden utilizar en los componentes GUI.

Accesibilidad al API.- Permite utilizar tecnologas afines para interactuar con los componentes
GUI como, por ejemplo perifricos usb, pantallas tctiles etc.
Java 2D API.- Permite incorporar grficos 2D, texto e imgenes de alta calidad.

Drag and Drop.- Provee la habilidad de realizar operaciones de drag and drop entre aplicaciones
Java.

Internacionalizacin.- Permite manejar y/o administrar la aplicacin en varios idiomas.

1.1 Qu es un AWT?
AWT representa un conjunto de componentes GUI y eventos que fueron la primera versin para crear
aplicaciones desktop en la versin 1.2 de Java. Estos fueron posteriormente reemplazados por Swing
debido a que los componentes de AWT tienen dependencia de los componentes nativos del Sistema
Operativo. Si hablamos de visualizacin,hay diferencia de un sistema a otro.

Actualmente AWT se utiliza para proveer los eventos GUI, la interfaz entre el sistema de ventanas
nativo y aplicaciones Java; asi como la interfaz para los dispositivos de entrada tales como el ratn y el
teclado.

1.2 Qu es un SWING?
Swing representa la evolucin a AWT. Tiene un conjunto de componentes GUI escritos 100% en Java,
con lo cual se garantiza la independencia del sistema operativo. Todos los componentes GUI se
encuentran en el paquete javax.swing y comienzan con la letra J, por ejemplo: JButton, JTextField.

1.3 Propiedades Componentes


Cada componente grfico tiene un conjunto de caractersticas (revisar API Swing), las cuales pueden
ser accedidas y modificadas por los mtodos getters y setters respectivos de cada clase. Por
ejemplo, para registrar el titulo de un JFrame, utilizamos el mtodo setTitle("titulo"); para
obtener el valor escrito en un componente de texto como JTextField, utilizamos el mtodo
getText() y asi sucesivamente.

2. Contenedores
Para construir un formulario el primer paso es crear un componente general llamado contenedor, que es el
componente grfico que contiene o agrupa a los dems componentes GUI; permite renderizarlos y
manejar sus eventos. Swing maneja tres tipos de contenedores los cuales son JFrame, JDialog y
JApplet.

2.1 JFrame
Es el componente grfico principal en la creacin de una interfaz de usuario; es decir, representa la
ventana principal que tiene decoraciones como ttulo, bordes, y botones para minimizar, maximizar
o cerrar la ventana. Una aplicacin GUI debe tener al menos un JFrame. A continuacin se muestra un
ejemplo de un JFrame.
2.2 JDialog
Es el componente grfico utilizado para mostrar mensajes informativos de una aplicacin GUI. Los
mensajes pueden ser de informacin, confirmacin e, inclusive, de ingreso de datos simple. Cada dilogo
es dependiente de un JFrame. Existen dilogos modales (JOptionPane) y no modales. A continuacin se
muestran ejemplos de los diferentes dilogos que se pueden crear con Swing.

2.3 JApplet
Un Applet es una aplicacin GUI que funciona de modo embebido en una pgina html dentro de un
browser. Cuando se requiere utilizar componentes grficos SWING, se debe utilizar el componente
grfico JApplet que representa un applet en Swing.

3. Componentes Especficos

3.1 Etiqueta
Para el manejo de etiquetas en un formulario, Swing utiliza la clase JLabel, que es un componente que
permite desplegar texto e imgenes o ambos. La limitacin principal de este componente es que no es
interactivo.

3.2 Texto
Swing dispone de algunos componentes que permiten que un usuario ingrese informacin en forma de
texto, la cual puede ser ingresada en un campo simple de una sola linea (JTextField), varias lneas
(JTextArea), validar caracteres que el usuario ingresa (JFormattedTextField) e informacin oculta
(JPasswordField).

3.3 Botones
Para manejar los diferentes eventos en un aplicacin GUI, Swing dispone de dos componentes
interactivos: el uno llamado JButton que, al igual que la etiqueta (JLabel), puede contener texto, imagen
o ambos; y el otro llamado JToggleButton que, a diferencia del JButton, maneja dos estados:
habilitado/deshabilitado.

3.4 Seleccin
Muchas veces se
necesita seleccionar un
valor o varios de un
conjunto de
opciones, para lo cual
Swing utiliza
componentes de
seleccin mltiple o
simple; estos
son JCheckBox y J Radi
oButton,
respectivamente. Cabe
destacar que para
trabajar con la
seleccin simple en el
componente JRadioButton, se debe agruparlo en un componente llamado ButtonGroup.

Los componentes JComboBox y JList, que tambien representan componentes de seleccin,


sern tratados en una seccin posterior ya que manejan un modelo especial de datos.
3.5 Mens
Para el manejo de los mens junto y sus elementos, submenus y tipos, Swing maneja las siguientes
jerrquias: comienza con el elemento JMenuBar que representa la barra que contiene todos los menus
denotados por la clase JMenu. Para las diferentes opciones de un men en particular, se utiliza la
clase JMenuItem la cual tiene tres versiones: la clase propiamente , una opcin tipo checkbox
representada por la clase JCheckBoxMenuItem y otra opcin tipo radio button representada por la
clase JRadioButtonMenuitem .
Cabe destacar que un JMenu puede tener otro JMenu; es decir, es una jerarqua recursiva a nivel
de este elemento que se utiliza para generar submenus.

4. Layouts
El posicionamiento y tamao de los diferentes componentes grficos dentro de un contenedor especfico o
general es conocido con el nombre de Layout. Swing maneja algunos tipos de layout, entre los cuales
tenemos los siguientes:

4.1 Border Layout


Este tipo de Layout coloca los componentes en cinco reas, dependiendo del lugar donde queramos
establecerlas. Estas reas son: arriba, abajo, izquierda, derecha y centro. A continuacin se muestra
una pantalla que hace uso de este layout.
4.2 Box Layout
Este tipo de Layout coloca los componentes en una simple fila o columna, respetando el tamao mximo
de los componentes y permitiendo su alineacin. A continuacin se muestra un pantalla aplicado este
layout.

4.3 Card Layout


Este tipo de Layout maneja generalmente dos o ms componentes que comparten el mismo espacio de
trabajo. Conceptualmente cada componente que un CardLayout maneja es como una carta de juego la
cual sola es visible una a la vez. A continuacin se muestra un pantalla aplicado este layout.

4.4 Flow Layout


Este tipo de Layout es usado por defecto por el objeto JPanel. Este layout coloca los elementos en una fila
de acuerdo al tamao preferido. Si el tamao en una fila no es suficiente (muy pequeo) se usan mltiples
filas. A continuacin se muestra una pantalla donde se aplica este layout.

4.5 GridBag Layout


Es un manejador de Layout sofisticado y flexible; alinea los componentes ubicndolos en un grid de celdas
que permite a los componentes ocupar ms de una celda. Las filas en el grid pueden tener diferentes
alturas y las columnas, diferente ancho. A continuacin se muestra un pantalla donde se aplica este
layout.
4.6 Grid Layout
Este tipo de Layout coloca a los elementos en un grid de celdas. Cada componente toma el espacio
disponible dentro de la celda y cada celda tiene exactamente el mismo tamao. Si el contenedor se
maximiza, todas las celdas junto con los elementos se adaptan al cambio. A continuacin se muestra una
pantalla en la cual se aplica este layout.

4.6 Creacin de Aplicaciones GUI

6. Modelos de Datos
Para manejar datos complejos o estructura de datos representativas, Swing nos proporciona ciertos
componentes que utilizan modelos para representar y manipular los mismos; es decir que, para realizar
alguna operacin como insertar o borrar un elemento, se lo hace a travs del modelo. Entre estos
componentes tenemos los siguientes: JComboBox, JList, Jtable.

6.1 ComboBox
Una de las caractersticas de este componente es que permite seleccionar nicamente una opcin entre
varias. Tambin podemos utilizarlo de dos formas: en su forma editable o no editable. La clase que
representa este componente en Swing se llama JComboBox.

Por defecto un JComboBox utiliza como modelo a la clase DefaultComboBoxModel; pero si se necesita
personalizarlo se debe implementar la interfaz ComboBoxModel.

6.2 Lista
Este componente se caracteriza porque presenta al usuario un grupo de items que pueden ser
desplegados en una o ms columnas. La clase que representa este componente en Swing es JList. Se
tienen tres tipos de seleccin, como se muestra en las siguientes figuras:
Por defecto, un JList utiliza como modelo a la clase DefaultListModel; pero si se necesita personalizarlo,
se debe implementar la interfaz ListModel.

6.3 Tabla
Este componente se caracteriza porque permiten desplegar tablas de datos; es decir, la informacin de
filas y columnas representada en conjunto. Cada columna puede manejar un tipo de dato diferente y cada
celda (interseccin fila columna) puede ser editable. Para representar este componente, Swing utiliza la
clase JTable.
Cabe destacar que este componente es muy utilizado para representar consultas de base de
datos o estructuras complejas de datos. De igual forma que el JComboBox o JList, la
manipulacin de los datos se realiza a travs de un modelo. El modelo por defecto es
el DefaultTableModel.

7. Manejo de eventos
Cada vez que un usuario presiona un botn, escribe en un campo de texto, selecciona una opcin etc., un
evento ocurre. Para manejar los eventos, Swing utiliza Listeners que son interfaces Java que determinan
un comportamiento especfico sobre un componente bajo una evento. Por ejemplo, existen listeners para
comportamiento del mouse, focus etc.

Para explicar los pasos que se necesitan realizar para manejar un evento, se crear un evento para
manejar un mensaje genrico. Los pasos para manejar un evento son los siguientes:

Crear clase que implemente un Listener.- Para crear la clase que implementar el Listener, se
debe elegir el tipo correcto. Entre los tipos podemos mencionar los siguientes: ItemListener,
KeyListener, MouseListener, etc. En este ejemplo se utilzar un Listener Genrico
llamado ActionListener.
Implementar los mtodos de la Interfaz.- Posterior a la creacin de la clase que implementa el
listener, se debe implementar el o los mtodos de la interfaz. En este ejemplo se utilizar el
mtodo actionPerformed con la funcionalidad que muestre un mensaje informativo.

Asociarle al componente grfico que se va a utilizar.- Como ltimo paso, se debe asociar el
listener creado al componente que lo requiera. Para ello lo cual se utilizan los mtodos de registro
de Listener que tienen la siguiente sintaxis add<TipoListener>(instanciaListener).

S-ar putea să vă placă și