RE:JcomboBox Selecionar Item
Publicado por
gero (1 intervención) el 21/11/2010 21:29:49
el tema es asi! nose si seguiras el tema, pero bueno.
esto de actionlistener es lo que se llama interfases en java y en la programacion orientada a objetos en general! (te aconsejo que busques ejemplos por ahi)
el caso es que, en la parte donde definis la clase (public class miClase Extends JFrame) escribas al lado
"implements ActionListener". de modo que quede algo asi (public class miClase extends JFrame implements Actionlistener)
esa interfaz te obliga a implementar unos 3 o 4 metodos....si usas Eclipse o algo de eso te ofrece agregarlos automaticamente. dentro de esos metodos esta el actionPerformed, ahi es donde vos escribis lo que va a pasar cuando alguien haga un elija alguno de los elementos del combobox!
aver.
entonces el actionlistener lo usas para controlar eventos, es el mismo que usas para los botones, cuando se hacen clicks y ese tipo de cosas.Y esto dispara los metodos como puede ser el a ActionPerformed.
la forma de hacer que se "escuche" a un elemento osea de hacer que se puedan controlar eventos sobre los objetos es asi
miboton.adactionlistener(this);
micombobox.addAtionListener(this);
(ahi le estas diciendo a tu aplicacion que escuche a estos elementos )
antes de hacer esto te aconsejo que hagas
miBoton.setActionCommand("combobox1")
esto es por si tenes muchos combobox o botones, para despues dentro de el: metodo:ActionPerformed (Event e){
if (e.getActionCommand.equals("combobox1"))
}
y asi poder identificar sobre que objeto se disparo el evento si es que tenes varios!
aver, ahi esta el ejemplo
aca uso actioListener para botones y un ItemListener para el combo
//.............................................................................................................................................................
package packetin;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
// declaro el objeto, que implementa ActionListener
public class miApplicacion extends JFrame implements ActionListener, ItemListener{
JComboBox combo1;
String[] elementosDelCombo = {"casa","auto","moto","bici","nada"};
JButton boton1 , boton2;
// Contructor de miApplicacion
public miApplicacion(){
super("Ejemplo Combobox");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(200,200);
this.setLayout(new FlowLayout());
// CREO LOS BOTONES
combo1 = new JComboBox(elementosDelCombo);
boton1 = new JButton("Cerrar");
boton2 = new JButton("Saludar");
// LES PONGO UNA IDENTIFICACION A LOS BOTONES
combo1.setActionCommand("combo1");
boton1.setActionCommand("boton1");
boton2.setActionCommand("boton2");
/* LES AGREGO UNA "ESCUCHA"
UN ITEMLISTENER AL COMBO, Y UN ACTION A LOS BOTONES*/
combo1.addItemListener(this);
boton1.addActionListener(this);
boton2.addActionListener(this);
/* una vez hecho todo agrego los botones al frame*/
this.add(boton1);
this.add(combo1);
this.add(boton2);
this.setVisible(true);
}
// LA INTERFAZ ACTIONLISTENER TE OBLIGA A IMPLEMENTAR ESTE METODO
//(VA A SER LLAMADO CUANDO OCURRA ALGUN EVENTOS SOBRE OBJETOS QUE TENGAN UN "ADDACTIONLISTENER")
public void actionPerformed(ActionEvent e) {
String objeto = e.getActionCommand(); //extraigo el identif
if (objeto.equals("boton1")){
System.exit(0); //si apreto el boton cierro la aplicacion
}
else{
System.out.println("HOLA");
}
}
// ESTE ES CUANDO OCURRA LGO SOBRE UN OBJETO QUE TENGA UN "ADDITEMLISTENER"
public void itemStateChanged(ItemEvent e) {
System.out.println(e.getItem());
}
espero te sirva