Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con JComboBox y Listeners

Estas en el tema de Problema con JComboBox y Listeners en el foro de Java en Foros del Web. Buenas gente del foro, les agradecería mucho que pudiesen ayudarme en este problema que tengo con un JComboBox y sus listeners; consiste en lo siguiente: ...
  #1 (permalink)  
Antiguo 15/12/2008, 04:57
Guj
 
Fecha de Ingreso: diciembre-2008
Mensajes: 1
Antigüedad: 15 años, 4 meses
Puntos: 0
Problema con JComboBox y Listeners

Buenas gente del foro, les agradecería mucho que pudiesen ayudarme en este problema que tengo con un JComboBox y sus listeners; consiste en lo siguiente:

Tengo un JComboBox que tiene un KeyListener, y a cada pulsacion con el teclado, el JComboBox se actualiza con informacion de una base de datos cuya entrada empieze con el String ingresado. Hasta ahí no eh tenido problemas. Cada vez que digitas una tecla, se abre el popup menú, mostrandote las opciones que tienes (la info de la base de datos, asi como facebook), ahora, el problema es que yo nesecito saber en qué momento el usuario SELECCIONA una de las opciones de ese popup menú. He probado con ActionListener, ItemListener, PopupMenuListener, pero ninguno me permite detectar especificamente la seleccion de un elemento del popup menu, ¿soy lo suficientemente claro con el problema?
  #2 (permalink)  
Antiguo 24/01/2012, 11:39
 
Fecha de Ingreso: febrero-2009
Mensajes: 16
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Problema con JComboBox y Listeners

Estoy bastante corto de tiempo, pero si entendi bien lo que te hace falte es que cuando el usuario elija un item del JCombobox, puedas realizar una "tarea en particular" que involucre ese item. Si es asi, podes que agregar un listener y dentro del metodo al cual se llama cuando se detecta un cambio en el JCombobox usar getSelectedItem(Object).

Ejemplo)

Primero creas el JComboBox, le agregas el listener y lo agregas por ejemplo a un Jframe:

clientsBox = new JComboBox();
clientsBox.setBounds(xPos, yPos, 150, heigh);
clientsBox.addActionListener(new ClientsBoxListener());
frame.add(clientsBox); /* Agrego el JComboBox */

Luego creas una clase para el listener:

class ClientsBoxListener implements ActionListener {

@Override
public void actionPerformed(ActionEvent arg0) {
String selectedItem = (String) clientsBox.getSelectedItem();
if ( selectedItem == null ) {
JOptionPane.showMessageDialog(null, "El cliente no existe");
return;
}
ClientData clientData = dataBase.getClientData( selectedItem );

.... haces algo con la informacion del cliente elejido .....

}

}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:28.