You are here
SWING EN JAVA Sin categoría 

SWING EN JAVA

SWING EN JAVA

 

 

 

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.*.

 

 

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

 

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 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);

 

}

 

}

 

);

 

 


Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Related posts