Sei sulla pagina 1di 13

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO

INGENIERA EN DESARROLLO DE SOFTWARE


ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS II

UNIDAD UNO: EVENTOS DE JAVA
ACTIVIDAD TRES: COMPONENTES Y ESTRUCTURA

NOMBRE DEL ALUMNO: CABRERA HERNNDEZ ROBERTO


MATRICULA: AL12504228


FACILITADOR: FRANCISCO JAVIER ZUIGA HERNANDEZ


FECHA: 21/06/2014


ACTIVIDAD TRES: COMPONENTES Y ESTRUCTURA

Introduccin:
Las aplicaciones computacionales requieren usuarios que interacten con el sistema mediante pantallas o interfaces graficas de usuario (GUI). Podemos
darnos cuenta en Java que las interfaces graficas de usuario son parte del GUI, la cual es representada por alguna clase del paquete swing.
En las actividades anteriores o en la lectura de la unidad uno observamos los ejemplos y los 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 de un mouse, 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[] ar) {
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 a adir 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[] ar) {
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
ItemListener 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);
}
}


Despus de observar la siguiente tabla con la descripcin de cada una de las clases del paquete Swing y comprobando los ejemplos en
NetaBeans, se comprueba que el GUI cuenta con diferentes tipos de objetos. Tambin los contenedores es el espacio donde se alojan los
componentes es a donde al principio de la lectura de la unidad junto a los ejemplos de botones, campos de texto, teclado o teclas, etc. Donde
podemos decir que al crear un contenedor se alojaran varios componentes para que lo conformen, en otras palabras son ventanas, marcos donde
podemos poner titulo 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 titulo,
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 el ltimo ejemplo 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:

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

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

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

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

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

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

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

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

Potrebbero piacerti anche