You are on page 1of 13

Ingeniera en Desarrollo de Software

Felipe de Jess Gutirrez Garca


(Al12535104)
5to Cuatrimestre
Jeanette Corina Castaeda Corral
Facilitadora
Programacin Orientada a Objetos 2
Unidad 1
Eventos en Java
Actividad 3
Componentes y estructura
En esta actividad debers identificar los elementos que componen el manejo de eventos y su estructura sintctica y as podrs
afirmar tus conocimientos que adquiriste durante toda la unidad.
Propsito: Realizar una descripcin propia de los componentes y estructura de los eventos. Ahora es necesario que sigas las
siguientes Instrucciones:

1. Identifica los componentes y la estructura requerida para el manejo de eventos en los temas de esta unidad.
2. Desarrolla una descripcin con tus propias palabras de los puntos que identificaste en la indicacin anterior.




INTRODUCCIN

La mayora de softwares o programas o aplicaciones computacionales requieren usuarios que interacten con el sistema mediante pantallas o
interfaces graficas de usuario (GUI). Ahora bien, cmo podemos darnos cuenta en Java, las interfaces graficas de usuario son parte del GUI,
la cual se representa por alguna clase del paquete swing.

En la lectura de la unidad uno se observan en los ejemplos y contenidos de los paquetes para crear objetos, configurar variables, llamar
mtodos, etc; (Algunos de ellos los utilizamos en POO1).

Para el manejo de los eventos los componentes grficos requieren un escuchador. El escuchador es un elemento que est precisamente
escuchando para detectar si la accin realizada por el usuario (evento) es el que est asignado al componente grfico y deber reaccionar
ejecutando la accin asociada a ese evento.

Un evento para una computadora bsicamente es un mensaje que proporciona el sistema operativo a un programa en ejecucin, indicando
que existi un suceso, que puede ser un clic en el mouse o la presin de alguna tecla o teclas. Para ellos se requiere un componente, un
escuchador y el mtodo que defina o redefina las acciones.

A continuacin les presento a los elementos que componen el manejo de eventos y su estructura sintctica en una breve tabla, para su mejor
entendimiento.









CLASES DEL PAQUETE SWING

CLASE DESCRIPCION Cdigo java (Ejemplos de la WEB) Pantalla
JtextField
El control JLabel
remplaza a la salida
estndar System.out
print, el control de
JtextField cumple la
funcin de la clase
Scanner para la
entrada de datos. A
continuacin un
pequeo ejemplo:
import javax.swing.*;
import java.awt.event.*;
public class Formulario extends JFrame
implements ActionListener{
private static final long serialVersionUID = 1L;
private final JtextField textfield1;
private final JLabel label1;
private final JButton boton1;
@SuppressWarnings("LeakingThisInConstructor")
public Formulario() {
setLayout(null);
label1=new JLabel("Usuario:");
label1.setBounds(10,10,100,30);
add(label1);
textfield1=new JTextField();
textfield1.setBounds(120,10,150,20);
add(textfield1);
boton1=new JButton("Aceptar");
boton1.setBounds(10,80,100,30);
add(boton1);
boton1.addActionListener(this);
}

@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==boton1) {
String cad=textfield1.getText();
setTitle(cad);
}
}

public static void main(String[] args) {
Formulario formulario1=new Formulario();
formulario1.setBounds(0,0,300,150);
formulario1.setVisible(true);
}
}




CLASES DEL PAQUETE SWING

CLASE DESCRIPCION
Cdigo java (Ejemplos de
la WEB)
Pantalla
JButton
El tercer control visual de uso
muy comn es el que provee la
clase JButton. Este control
visual muestra un botn. El
proceso de aadir botones a un
control JFrame es similar
aadir controles de tipo JLabel,
es decir Java las implementa el
concepto de interfaces para
poder llamar a mtodos de una
clase existente a una clase
desarrollada para nosotros.
import javax.swing.*;
import java.awt.event.*;
public class Formulario extends
JFrame implements ActionListener {
private static final long
serialVersionUID = 1L;
JButton boton1;
public Formulario() {
setLayout(null);
boton1=new
JButton("Finalizar");

boton1.setBounds(300,250,100,30);
add(boton1);
boton1.addActionListener(this);
}

@Override
public void
actionPerformed(ActionEvent e) {
if (e.getSource()==boton1) {
System.exit(0);
}
}

public static void main(String[]
args) {
Formulario formulario1=new
Formulario();

formulario1.setBounds(0,0,450,350);
formulario1.setVisible(true);
}
}


CLASES DEL PAQUETE SWING

CLASE DESCRIPCION
Cdigo java (Ejemplos de la
WEB)
Pantalla
JFrame
La componente bsica
que requerimos cada vez
que implementamos una
interfaz visual con la
librera Swing es la clase
JFrame. Esta clase
encapsulada a una
ventana clsica de
cualquier sistema
operativo con entorno
grafico (Windows, OS X,
Linux, etc).

import javax.swing.*;
public class Formulario extends
JFrame{
private static final long
serialVersionUID = 1L;
public Formulario() {
setLayout(null);
}

public static void main(String[] ar) {
Formulario formulario1=new
Formulario();

formulario1.setBounds(10,20,400,300);
formulario1.setVisible(true);
}
}




CLASES DEL PAQUETE SWING

CLASE DESCRIPCION Cdigo java (Ejemplos de la WEB) Pantalla


JComboBox


El control JComboBox
permite seleccionar
un String de una lista.

Es un evento muy til
con este control es
cuando el operador
selecciona un tem de
la lista.

Para capturar la
seleccin de un tem
debemos implementar
la interface Item
Listener que contiene
un mtodo llamada
ItemStateChanged.
private static final long serialVersionUID = 1L;
private JComboBox combo1;
@SuppressWarnings("unchecked")
public Formulario() {
setLayout(null);
combo1=new JComboBox();
combo1.setBounds(10,10,80,20);
add(combo1);
combo1.addItem("rojo");
combo1.addItem("vede");
combo1.addItem("azul");
combo1.addItem("amarillo");
combo1.addItem("negro");
combo1.addItemListener(this);
}

@Override
public void itemStateChanged(ItemEvent e) {
if (e.getSource()==combo1) {
String
seleccionado=(String)combo1.getSelectedItem();
setTitle(seleccionado);
}
}

public static void main(String[] ar) {
Formulario formulario1=new Formulario();
formulario1.setBounds(0,0,200,150);
formulario1.setVisible(true);
}
}





CLASES DEL PAQUETE SWING

CLASE DESCRIPCION
Cdigo java (Ejemplos de la
WEB)
Pantalla
JCheckBox
El control
JCheckBox permite
implementar un
cuadro de
seleccin
bsicamente un
botn de dos
estados.
import java.awt.Component;
import javax.swing.*;
import javax.swing.event.*;
public class Formulario extends JFrame
implements ChangeListener{
private static final long
serialVersionUID = 1L;
private JCheckBox
check1,check2,check3;
public Formulario() {
setLayout(null);
check1=new JCheckBox("Ingls");
check1.setBounds(10,10,150,30);
check1.addChangeListener(this);
add(check1);
check2=new
JCheckBox("Francs");
check2.setBounds(10,50,150,30);
check2.addChangeListener(this);
Component add = add(check2);
check3=new
JCheckBox("Alemn");
check3.setBounds(10,90,150,30);
check3.addChangeListener(this);
add(check3);
}
@Override
public void
stateChanged(ChangeEvent e){
String cad="";
if (check1.isSelected()==true) {
cad += "Ingls-";
}
if (check2.isSelected()==true) {
cad += "Francs-";
}
if (check3.isSelected()==true) {
cad += "Alemn-";
}
setTitle(cad);
}
public static void main(String[] ar) {
Formulario formulario1=new
Formulario();

formulario1.setBounds(0,0,300,200);
formulario1.setVisible(true);
}
}


Una vez observada la siguiente tabla con la descripcin de cada una de las clases del paquete Swing y comprobando los ejemplos en
NetBeans, se comprueba que el GUI cuenta con diferentes tipos de objetos. As tambin los contenedores, es el espacio donde se alojan los
componentes temas vistos al principio de la lectura de la unidad 1, junto a los ejemplos de botones, campos de texto, teclado o teclas, etc.

Ahora bien aqu es donde podemos decir que al crear un contenedor se alojaran en l, varios componentes para que lo conformen, en otras
palabras son ventanas, marcos donde podemos poner ttulo y los botones para cerrar, maximizar y minimizar.

Por ejemplo hay datos importantes que recordar:



1
import java.awt.*;
import javax.swing.*;
Se importan los paquetes para el manejo de componentes

2 public class Formulario extends JFrame{
Se heredan los mtodos de la clase JFrame

3
public Formulario() {
setLayout(null);
boton1=new JButton("Finalizar");
boton1.setBounds(300,250,100,30);
add(boton1);
boton1.addActionListener(this);
}


Se crea el constructor de todo el contenido que ttulo,
tamao, visible, etc.
4
public void stateChanged(ChangeEvent e){

A partir de la clase en donde se crea el objeto, las
instrucciones dentro de la clase principal para poder
correr dicha aplicacin
5
combo1.addItem("rojo");
combo1.addItem("vede");
combo1.addItem("azul");
combo1.addItem("amarillo");
combo1.addItem("negro");
combo1.addItemListener(this);
}

En esta parte nos damos cuenta la asignacin de los
atributos en este caso el tipo de color.
6
combo1.addItemListener(this);
}

Aqu podemos observar un Listener una especie de
vigilante de los componentes. El usuario realiza la accin
con mouse, teclado, etc.



En los ejemplos de la tabla anterior podemos observar que tambin los Listeners son muy importantes porque son componentes que el
usuario siempre utilizara para obtener la accin de la aplicacin sobre todo el evento tendr la funcin con la peticin del usuario en general.
Este tipo de Listeners se encuentra en el paquete Java: java.awt.event. A continuacin la descripcin de algunas de las interfaces
Listeners importantes para el uso de las aplicaciones en Java que debemos tener en cuenta.

focusListeners: un componente Java gana o pierde un foco, es decir una clase que implementa la interface.

Ejemplo:

JButton boton = new JButton ("Pulsame"); focusListeners
// Guardamos el color de background por defecto.
final Color colorBackgroundDefecto = boton.getBackground();
...
boton.addFocusListener(new FocusListener() {
public void focusGained(FocusEvent e) {
e.getComponent().setBackground(Color.RED);
// e.getOpositeComponent() devuelve el Component que le
// cede el foco a nuestro botn.
}
public void focusLost(FocusEvent e) {
e.getComponent().setBackground(colorBackgroundDefecto);
// get.OpositeComponent() devuelve el Component al que
// nuestro botn cede el foco.
}
});

Se puede observar que en e.getComponent(). Basta cambiarle el color a ese componente que se origina el evento y es por lo
tanto el botn.












Adjusmenstlisteners: Generados cuando un componente es ajustado.

Ejemplo:


import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class FrameScroll extends Applet implements AdjustmentListener
{
Frame f;
TextField tf1;
Scrollbar sb1, sb2, sb3;
public void init()
{
f = new Frame("Frame With Scroll");
tf1 = new TextField(20);
sb1 = new Scrollbar(Scrollbar.VERTICAL,0,1,0,255);
sb2 = new Scrollbar(Scrollbar.VERTICAL,0,1,0,255);
sb3 = new Scrollbar(Scrollbar.VERTICAL,0,1,0,255);
AccionListeners: Eventos de accin generado por un usuario.

Ejemplo:

import java.awt.*;
import java.awt.event.*;
public class AL extends Frame implements WindowListener,ActionListener {
TextField text = new TextField(20);
Button b;
private int numClicks = 0;

public static void main(String[] args) {
AL myWindow = new AL("My first window");
myWindow.setSize(350,100);
myWindow.setVisible(true);
}








ItemListeners: Cambio de tems de cajas o listas.
Ejemplo:

public interface ItemListener
extends EventListener

KeyListeners: Pulsacion de teclas. Ejemplo:
public interface KeyListener
extends EventListener

MouseListeners: Pulsacion o entra y salida del raton. Ejemplo:
public void mouseReleased(MouseEvent arg0){
}
MouseMotionListeners: Movimiento del raton sobre un componente. Ejemplo:
public class raton extends Applet implements MouseListener, MouseMotionListener
{
TextField text1;
public void init(){
text1 = new TextField(35);
add(text1);
addMouseListener(this);
addMouseMotionListener(this);
}






WindowListeners: Cambios de ventana.
Ejemplo:
import java.awt.*;
import java.awt.event.*;

public class AL extends Frame implements WindowListener,ActionListener {
TextField text = new TextField(20);
Button b;
private int numClicks = 0;

public static void main(String[] args) {
AL myWindow = new AL("My first window");
myWindow.setSize(350,100);
myWindow.setVisible(true);
}

Tambin en esta posicin hay que tener bien en cuenta que una clase puede implementar tantas clases como sea necesario por
ejemplo:

a) public class AL extends Frame implements WindowListener,ActionListener {
b) public class raton extends Applet implements MouseListener, MouseMotionListener
{
c) public class AL extends Frame implements WindowListener,ActionListener {















Son ejemplos que he
tomado de las interfaces
de ejemplos de los
Listeners de la parte de
arriba.
FUENTES DE CONSULTA:

ESAD (2014), UNIDAD 1. Programacin orientada a objetos II. Eventos de Java, Recuperado el da 09/06/2014 de la
pgina web: http://207.249.20.68/Ds20142C/file.php/39/Documentos_U1/Unidad_1._Eventos_de_Java.pdf

Oracle.com. Recuperado el da 09/06/2014 de la pgina web:
http://docs.oracle.com/javase/tutorial/uiswing/events/eventsandcomponents.html

Ejemplo JtextField. Recuperado el da 21/06/2014 de la pgina web:
http://www.javaya.com.ar/detalleconcepto.php?codigo=107&inicio=20

Ejemplo JButton. Recuperado el da 21/06/2014 de la pgina web:
http://www.javaya.com.ar/detalleconcepto.php?codigo=106&inicio=20

Ejemplo JFrame. Recuperado el da 21/06/2014 de la pgina web:
http://www.javaya.com.ar/detalleconcepto.php?codigo=104&inicio=20

Ejemplo ComboBox. Recuperado el da 21/06/2014 de la pagina web:
http://www.javaya.com.ar/detalleconcepto.php?codigo=109&inicio=20

Ejemplo JCheckBox. Recuperado el da 21/06/2014 de la pgina web:
http://www.javaya.com.ar/detalleconcepto.php?codigo=111&inicio=20

ChuWiki. Recuperado el da 21/06/2014 de la pagina web:
http://chuwiki.chuidiang.org/index.php?title=FocusListener_y_FocusAdapter

You might also like