Estoy tratando de hacer que un evento se active siempre que se haga una elección de a JComboBox
.
El problema que tengo es que no hay un addSelectionListener()
método obvio .
He tratado de usar actionPerformed()
, pero nunca se dispara.
A falta de anular el modelo para el JComboBox
, estoy sin ideas.
¿Cómo me notifican un cambio de selección en un JComboBox
**?
Editar: tengo que disculparme. Resulta que estaba usando una subclase de mal comportamiento JComboBox
, pero dejaré la pregunta ya que su respuesta es buena.
java
swing
jcombobox
itemlistener
Allain Lalonde
fuente
fuente
Respuestas:
Debería responder a ActionListeners , así:
@John Calsbeek señala acertadamente que
addItemListener()
también funcionará. SinItemEvents
embargo, puede obtener 2 , uno para la deselección del elemento seleccionado previamente y otro para la selección del nuevo elemento. ¡Simplemente no use ambos tipos de eventos!fuente
Código de ejemplo de
ItemListener
implementaciónAhora solo obtendremos el artículo seleccionado.
Luego solo agrega oyente a tu JComboBox
fuente
Probaría el
itemStateChanged()
método de laItemListener
interfaz si la solución de jodonnell falla.fuente
Aquí está creando un ComboBox agregando un oyente para el cambio de selección de elementos:
fuente
Puedes probar estos
-o-
-o-
fuente
Recientemente estuve buscando esta misma solución y logré encontrar una simple sin asignar variables específicas para el último elemento seleccionado y el nuevo elemento seleccionado. Y esta pregunta, aunque muy útil, no proporcionó la solución que necesitaba. Esto resolvió mi problema, espero que resuelva el tuyo y el de los demás. Gracias.
¿Cómo obtengo el artículo anterior o el último?
fuente