lunes, 18 de abril de 2016

SWING 002: LISTENER EN JAVA

PRACTICA DE SWING: Actividad 002.- LISTENER
(Escuchadores de eventos)
Ing. Honoria Reyes Macedo

INTRODUCCION
Esta practica utiliza el formulario creado en la practica de swing: Actividad 002.
 
Para agregar escuchadores de eventos en las interfaces(formularios) tenemos 2 opciones:

- Implementar la interfaz ActionListener  con su metodo actionPerformed
- O Usar una clase anonima para cada boton



ACTIVIDADES:

I. Copiar la clase MaquinaFrm.java como MaquinaFrm002.java  y hacer la opcion 1

II. Copiar la clase MaquinaFrm.java como MaquinaFrm003.java  y hacer la opcion 2



OPCIONES:

Opcion 1.- Implementar la interfaz ActionListener  con su metodo actionPerformed a la clase MaquinaFrm002.java

    1.1) Se implementa en la declaracion de la clase

                public class MaquinaFrm002 extends JFrame implements ActionListener {

     1.2) Agregar el Listener a cada boton declarado en MaquinaFrm002.java
               Hacer esto dentro del metodo initComponents()

    jbguardar.addActionListener(this);
                jblimpiar.addActionListener(this);
                jbsalir.addActionListener(this);

Nota: Crear una etiqueta jlMensajes para probar los botones:

private JLabel jlMensajes;   //etiqueta declarada

jlMensajes= new JLabel();
jlMensajes.setBounds(20,250,200,20);
jp.add(jlMensajes);


     1.3) Agregar el metodo actionPerformed(ActionEvent e) y validar los botones

          public void actionPerformed (ActionEvent e)
          {
                  if (e.getSource()== jbguardar){
                       jlMensajes.setText ("Voy a guardar los campos de captura");
                  }
                  if (e.getSource()== jblimpiar){
                       jlMensajes.setText ("Voy a limpiar los campos de captura");
                  }
                  if (e.getSource()== jbsalir){
                        System.exit(0);
                  }
         }



Opcion 2.-   Usar una clase anonima para cada boton de la clase MaquinaFrm003.java
      Nota: Crear una etiqueta jlMensajes para probar los botones:

         private JLabel jlMensajes;   //etiqueta declarada

         jlMensajes= new JLabel();
         jlMensajes.setBounds(20,250,200,20);
         jp.add(jlMensajes);

      2.1  Hacer una clase anonima para cada boton.- Hacer esto dentro del metodo initComponents()
    jbguardar.addActionListener (new ActionListener(){
                public void actionPerformed (ActionEvent e) {
            jlMensajes.setText ("Voy a guardar los campos de captura");
        }  
     });
     jblimpiar.addActionListener (new ActionListener(){
                public void actionPerformed (ActionEvent e) {
            jlMensajes.setText ("Voy a limpiar los campos de captura");
        }  
     });
     jbsalir.addActionListener (new ActionListener(){
                public void actionPerformed (ActionEvent e) {
            System.exit(0);
        }  
     });


Nota: no olvidar indicar las librerias a utilizar

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;

                    ____________   ____________   _____________  _____________



Opción 2:  Otra forma usando una clase anonima
puedes hacer un objeto de la clase anónima y utilizarla en cada  boton.- Hacer esto dentro del metodo initComponents()
ActionListener al = new ActionListener(){
                   Public void actionPerformed (ActionEvent e) {
                                  if (e.getSource()== jbguardar){
                                      jlMensajes.setText ("Voy a guardar los campos");
                                 }
                                 if (e.getSource()== jblimpiar){
                                      jlMensajes.setText ("Voy a limpiar los campos");
                                 }
                                 if (e.getSource()== jbsalir){
                                       System.exit(0);
                                 }
                  }  
};

jbguardar.addActionListener(al);
            jblimpiar.addActionListener(al);
            jbsalir.addActionListener(al);

No hay comentarios.:

Publicar un comentario