ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Swing, la solución actual de Java para crear GUIs


Enviado por   •  12 de Agosto de 2013  •  Ensayos  •  2.019 Palabras (9 Páginas)  •  450 Visitas

Página 1 de 9

Swing, la solución actual de Java para crear GUIs

Marcela Calderón

Emilio Davis

________________________________________

Introducción:

El paquete Swing es parte de la JFC (Java Foundation Classes) en la plataforma Java. La JFC provee facilidades para ayudar a la gente a construir GUIs. Swing abarca componentes como botones, tablas, marcos, etc...

Las componentes Swing se identifican porque pertenecen al paquete javax.swing.

Swing existe desde la JDK 1.1 (como un agregado). Antes de la existencia de Swing, las interfaces gráficas con el usuario se realizaban a través de AWT (Abstract Window Toolkit), de quien Swing hereda todo el manejo de eventos. Usualmente, para toda componente AWT existe una componente Swing que la reemplaza, por ejemplo, la clase Button de AWT es reemplazada por la clase JButton de Swing (el nombre de todas las componentes Swing comienza con "J").

Las componentes de Swing utilizan la infraestructura de AWT, incluyendo el modelo de eventos AWT, el cual rige cómo una componente reacciona a eventos tales como, eventos de teclado, mouse, etc... Es por esto, que la mayoría de los programas Swing necesitan importar dos paquetes AWT: java.awt.* y java.awt.event.*.

Ojo: Como regla, los programas no deben usar componenetes pesados de AWT junto a componentes Swing, ya que los componentes de AWT son siempre pintados sobre los de Swing. (Por componentes pesadas de AWT se entiende Menu, ScrollPane y todas las componentes que heredan de las clases Canvas y Panel de AWT).

Compilación: Estándar.

________________________________________

Estructura básica de una aplicación Swing.

Una aplicación Swing se construye mezclando componentes con las siguientes reglas.

• Debe existir, al menos, un contenedor de alto nivel (Top-Level Container), que provee el soporte que las componentes Swing necesitan para el pintado y el manejo de eventos.

• Otras componentes colgando del contenedor de alto nivel (éstas pueden ser contenedores o componentes simples).

Ejemplo 1:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class HolaMundoSwing {

public static void main(String[] args) {

JFrame frame = new JFrame("HolaMundoSwing");

final JLabel label = new JLabel("Hola Mundo");

frame.getContentPane().add(label);

//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.addWindowListener(new java.awt.event.WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

}

);

frame.pack();

frame.setVisible(true);

}

}

En las primeras líneas se importan los paquetes necesarios.

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

Luego se declara la clase HolaMundoSwing y en el método main se setea el top level container:

public class HolaMundoSwing {

public static void main(String[] args) {

JFrame frame = new JFrame("HolaMundoSwing");

...

frame.pack();

frame.setVisible(true);

}

}

En el ejemplo, sólo hay un contenedor de alto nivel, un JFrame. Un frame implementado como una instancia de la clase JFrame es una ventana con decoraciones, tales como, borde, título y botones como íconos y para cerrar la ventana. Aplicaciones con un GUI típicamente usan, al menos, un frame.

Además, el ejemplo tiene un componente, una etiqueta que dice "Hola Mundo".

final JLabel label = new JLabel("Hola Mundo"); //construye el JLabel.

frame.getContentPane().add(label); //agrega el label al frame.

Para que el botón de cerrar cierre la ventana, hay dos opciones:

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //JDK 1.3+

frame.addWindowListener(new java.awt.event.WindowAdapter(){ //versiones anteriores

public void windowClosing(WindowEvent e){

System.exit(0);

}

}

);

________________________________________

Principales aspectos de una aplicación Swing

Como ya se dijo antes, cada aplicación Swing debe tener al menos un top-level container que contendrá toda la aplicación, estos pueden ser

• javax.swing.JFrame: Una ventana independiente.

• javax.swing.JApplet: Un applet.

• Diálogos: ventanas de interacción sencilla con el usuario como por ejemplo:

o java.swing.JOptionPane: Ventana de diálogo tipo SI_NO, SI_NO_CANCELAR, ACEPTAR, etc...

o java.swing.JFileChooser:

...

Descargar como (para miembros actualizados)  txt (17.8 Kb)  
Leer 8 páginas más »
Disponible sólo en Clubensayos.com