Está en la página 1de 19

ISCS – Utilización de Swing y

Eventos en Java SE
Oscar E. Guzmán Matus
Ing. Civil en informática
Esta semana…
• P: Se presenta el tema Clientes Gráficos. Una
introducción a Swing de Java. (RA1)
Introducción a Swing:
• Swing es una biblioteca gráfica para Java que
forma parte de las Java Foundation Classes
(JFC).
• Incluye widgets* para interfaz gráfica de
usuario tales como cajas de texto,
• botones, desplegables y tablas.

• un widget, es un componente gráfico, o control, con el cual el usuario interactúa, como por ejemplo, una
ventana, una barra de tareas o una caja de texto.
Historia
• Desde sus inicios el entorno Java ya contaba
con una biblioteca de componentes gráficos
conocida como AWT.

• Esta biblioteca estaba concebida como una


API estandarizada que permitía utilizar los
componentes nativos de cada sistema
operativo.
Componentes gráficos JSE
Componentes AWT Componentes Swing
Ventajas de Java Swing

 El diseño en Java puro posee menos


limitaciones de plataforma.
 El desarrollo de componentes Swing es más
activo.
 Los componentes de Swing soportan más
características.
Desventajas de Java Swing
• La mayoría de los browsers no incluyen clases swing,
por lo que es necesario utilizar un plugin java.

• Los componentes swing generalmente son más lentos y


presentan más problemas debido a que están hechos
en Java puro, y suelen presentar problemas
relacionados con vídeo en varias plataformas.

• No siempre tienen el mismo aspecto que en el sistema


donde fueron diseñados.
Ejemplo: Creación y visualizar una ventana

• HolaMundoSwing.java
• La ventana principal de la aplicación debe ser
JFrame.
• El siguiente código crea un JFrame, lo cual
agrega dentro una etiqueta JLabel que pone
"Hola mundo" y lo muestra en pantalla.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class HolaMundoSwing {

public HolaMundoSwing() {
}

public static void main(String[] args) {

JFrame frame = new JFrame("HolaMundoSwing"); // Se crea el JFramen.


JLabel label = new JLabel("Hola Mundo"); // Se crea el JLabel.
frame.getContentPane().add(label); // se introduce el label al frame Para que termine la aplicación al pulsar la x
de arriba a la derecha.

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack(); // Se hace que JFrame tenga el tamaño justo para que quepa elJLabel
frame.setVisible(true); // Se visualiza.
}
}
Detalles del ejemplo anterior
• Las ventanas de nivel superior (esto es, las
que no están dentro de otra ventana) reciben
el nombre de Marco en Java.
• La biblioteca AWT posee una clase llamada
Frame que sirve para este tipo de ventana. La
versión de Swing de esta clase se denomina
JFrame y extiende (hereda) a la clase Frame.
MANEJO DE EVENTOS:
Eventos del software
Eventos Software Vida Real Eventos aplicación JAVA

• Llamada telefónica. • Movimientos del Mouse..


• Subir volumen. • Presión de una tecla.
• Apagar. • Clic del Mouse.
• Cambiar canal • Uso del Scroll.
Manejo de eventos
• Todo entorno operativo que admite GUI
monitoriza constantemente los eventos tales
como teclas pulsadas o clic de ratón.
• El entorno operativo notifica estos eventos a
los programas que están en ejecución.
• Entonces cada programa decide lo que debe
hacer, si procede, como respuesta a estos
eventos.
Importancia de los eventos
• El manejo de eventos es de vital importancia
capital para los programas que posee una
interfaz de usuario gráfica. Para implementar
las interfaces de usuario, es preciso dominar
la forma en que Java maneja los eventos.
Los eventos en JAVA
• Dentro de los límites de los eventos que
resultan conocidas para AWT, tenemos un
completo control de la forma en que se
transmiten los eventos desde las fuentes de
eventos (como los botones o las barras de
desplazamiento) hasta los oyentes de
eventos.
Principios de los eventos en JAVA
• Cualquier objeto puede ser nombrado oyente
de eventos.
• En la práctica, seleccionaremos un objeto que
puede llevar a cabo de forma cómoda la
respuesta deseada para ese evento.

Todos los metodos en el API de JAVA 6


http://download.oracle.com/javase/6/docs/api/index.html
Modelo de implemetación
• Para registrar un objeto oyente en el objeto
fuente se emplean unas líneas de código cuyo
modelo es similar al siguiente:

objetoFuentedeEventos.addEvenListener(objetoOyentedeEventos);

Ejemplo
ActionListener oyente =…;
JButton boton = new JButton(“OK”);
boton.addActionListener(oyente);
Código ejemplo
import java.awt.Component;
import javax.swing.BoxLayout; // Se crea un botón centrado y se añade
import javax.swing.JButton; JButton boton = new JButton("Bienvenidos a NetBeans IDE 6.1");
import javax.swing.JFrame; boton.setAlignmentX(Component.CENTER_ALIGNMENT);
import javax.swing.JLabel; v.getContentPane().add(boton);
import javax.swing.WindowConstants;
// Se crea una etiqueta centrada y se añade
public class PruebaBoxLayout JLabel etiqueta = new JLabel("El Segundo Examen es de Interfaz
{ Gráfica.!!!!!");
etiqueta.setAlignmentX(Component.CENTER_ALIGNMENT);
public PruebaBoxLayout() v.getContentPane().add(etiqueta);
{ v.pack();
} v.setVisible(true);// Visualizar la ventana
public static void main(String[] args) v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
{ }
JFrame v = new JFrame("Ejemplo Utilizando BoxLayout"); }
v.getContentPane().setLayout(new
BoxLayout(v.getContentPane(),BoxLayout.Y_AXIS));
Actividad presentación próxima semana

• P: Estudiantes, en grupo colaborativo,


presentan experimentación de componentes
Swing mediante Netbeans (DRAG and DROP) y
el manejo de eventos de los diferentes
elementos a partir del problema propio
(presentación/ poster/ informe). Los
productos se evalúan según rúbrica. (RA1)

También podría gustarte