(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); } }
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");
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();
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); } }
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
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