You are on page 1of 11

Uso de Java Swing

Noviembre de 2013
Introduccin

Esta leccin les dar la


oportunidad de introducirlos al
manejo de la clase Swing.

Despues de explicar en que


consiste Swing, veremos
como compilar y correr un
programa que utilice la
paqueteria Swing.
Introduccin
Est leccin proporcionar una introduccion a la
programacin de la interfaz grfica de usuario (Graphical
User Interface, GUI) con Swing.

Swing abarca componentes como botones, tablas, marcos,


etc...

Las componentes Swing se identifican porque pertenecen


al paquete javax.swing.

Antes de la existencia de Swing, las interfaces grficas con


el usuario se realizaban a travs de AWT (Abstract Window
Toolkit), de quien Swing hereda todo el manejo de eventos.
Estructura bsica de un programa de
Swing

Una aplicacin 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).
Estructura bsica de un programa de
Swing
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.addWindowListener(new
java.awt.event.WindowAdapter(){




public void windowClosing(WindowEvent e){





System.exit(0);




}



});



frame.pack();



frame.setVisible(true);


}

}
Estructura bsica de un programa de
Swing
En las primeras lneas se importan los paquetes necesarios.
!
import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

!

Luego se declara la clase HolaMundoSwing y en el mtodo main se


establece el top level container (contenedor alto nivel o principal):
!
public class HolaMundoSwing {

public static void main(String[] args) {

JFrame frame = new JFrame("HolaMundoSwing");

...

frame.pack();

frame.setVisible(true);

}

}
Estructura bsica de un programa de
Swing
En el ejemplo, slo 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, ttulo y botones como conos y
para cerrar la ventana.

Aplicaciones con un GUI tpicamente usan, al menos, un frame.

Adems, 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.


!
Estructura bsica de un programa de
Swing
Para que el botn 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);

});

Implementando el Hola Mundo con metodo
de salida para versiones de JDK 1.3+
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.pack();



frame.setVisible(true);

}

}
Principales Aspectos
Como ya se dijo antes, cada aplicacin Swing debe tener al
menos un top-level container que contendr toda la aplicacin,
estos pueden ser
javax.swing.JFrame: Una ventana independiente.
javax.swing.JApplet: Un applet.

Dilogos: ventanas de interaccin sencilla con el usuario como


por ejemplo:
java.swing.JOptionPane: Ventana de dilogo tipo SI_NO,
SI_NO_CANCELAR, ACEPTAR, etc...
java.swing.JFileChooser: Ventana para elejir un archivo.
java.swing.JColorChooser
etc.
Ver los siguientes puntos:

http://docs.oracle.com/javase/7/docs/api/javax/
swing/package-frame.html

Identificar como declarar un boton, menu, etiquetas,

Ejercicios ejemplo

Recomendacin, para el manejo de java Swing, se


sugiere el uso de NetBeans.