Eventos de Usuario: ItemListener

Los itemListeners tienen lugar cuando un item es seleccionado o deseleccionado, muy similar a ganar o perder el foco, la diferencia está que acá se vigilan los items del componente y no el componente en si. Un item es por ejemplo una de sus opciones en un comboBox:
Estos items deberan ser vigilados con:
  • componente.addItemListener(this);

java.awt.event

Interface ItemListener


Método:

  • void itemStateChanged(ItemEvent e)
    • Se invoca cuando un elemento de un componente ha sido seleccionado o deseleccionado por el usuario. El código escrito para este método lleva a cabo las operaciones que deben ocurrir cuando se selecciona un elemento (o desactivada).

Class ItemEvent

java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ItemEvent
Para saber que item es seleccionado o deseleccionado no usaremos el método getSource() sino getItem():
  • getItem()
    • de la clase ItemEvent, regresa el item afectado por el evento.
  • getStateChange()
    • Nos devuelve un entero de la misma clase, que nos permiten saber si el item fue seleccionado o no:
    • public static final int SELECTED;
    • public static final int DESELECTED;

Ejemplo ItemListener

Vamos con un pequeño ejemplo, para lo cual me inspire con las diferencias que puedan ocurrir entre algunas cosas, de la web "Diferencia Entre" En este código al seleccionar un item nos da un ejemplo de uso entre 3 palabras muy similares.
  1. import java.awt.*;
  2. import java.awt.event.ItemEvent;
  3. import java.awt.event.ItemListener;
  4. import javax.swing.*;
  5. public class Item extends JFrame implements ItemListener{
  6.     BorderLayout borde;
  7.     String[] cadenaCombo = {" ", "haya", "allá", "halla"};
  8.     JComboBox combo;
  9.    
  10.     String[] cadenaEtiqueta = {" ", "Cuando Juan haya terminado, tomaremos el té.",
  11.             "María siempre halla un trébol de 4 hojas.", "Pedro estaba allá, con sus amigos."};
  12.     JLabel etiqueta = new JLabel("");
  13.    
  14.     public Item(){
  15.         super("Demostración de ItemListener");
  16.         setSize(350,100);
  17.         setLocationRelativeTo(null);
  18.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  19.        
  20.         combo = new JComboBox(cadenaCombo);
  21.         combo.addItemListener(this);
  22.         for( int i = 0; i > cadenaCombo.length; i++){
  23.             combo.addItem(cadenaCombo[i]);
  24.         }
  25.         add(combo, BorderLayout.NORTH);
  26.         add(etiqueta, BorderLayout.SOUTH);
  27.         setVisible(true);
  28.     }
  29.     public static void main(String[] dario){
  30.         new Item();
  31.     }
  32.     @Override
  33.     public void itemStateChanged(ItemEvent e) {
  34.         int eleccion = combo.getSelectedIndex();
  35.         etiqueta.setText(cadenaEtiqueta[eleccion]);
  36.     }
  37. }



Ejemplo de The Java™ Tutorials

Esta ventana muestra en un area de texto los cambios que se producen sobre una caja de chequeo que muestra una etiqueta. Además muestra los cambios en la ventana(redimencionar o mover)

No hay comentarios:

Publicar un comentario