Estou tentando fazer com que um evento seja acionado sempre que uma escolha é feita a JComboBox
.
O problema que estou tendo é que não existe um addSelectionListener()
método óbvio .
Eu tentei usar actionPerformed()
, mas nunca dispara.
Com exceção de substituir o modelo JComboBox
, estou sem ideias.
Como sou notificado de uma alteração de seleção em um JComboBox
**?
Edit: Eu tenho que me desculpar. Acontece que eu estava usando uma subclasse de comportamento inadequado JComboBox
, mas deixarei a pergunta em aberto, já que sua resposta é boa.
java
swing
jcombobox
itemlistener
Allain Lalonde
fonte
fonte
Respostas:
Ele deve responder aos ActionListeners , assim:
@ John Calsbeek ressalta, com razão, que
addItemListener()
também funcionará. Você pode obter 2ItemEvents
, no entanto, um para desmarcar o item selecionado anteriormente e outro para a seleção do novo item. Só não use os dois tipos de evento!fonte
Exemplo de código de
ItemListener
implementaçãoAgora obteremos apenas o item selecionado.
Em seguida, basta adicionar o ouvinte ao seu JComboBox
fonte
Eu tentaria o
itemStateChanged()
método daItemListener
interface se a solução de jodonnell falhar.fonte
Aqui está criando uma ComboBox adicionando um ouvinte para alteração na seleção de itens:
fonte
Você pode tentar estes
-ou-
-ou-
fonte
Recentemente, eu estava procurando por essa mesma solução e consegui encontrar uma solução simples sem atribuir variáveis específicas para o último item selecionado e o novo item selecionado. E essa pergunta, embora muito útil, não forneceu a solução que eu precisava. Isso resolveu meu problema, espero que resolva o seu e os outros. Obrigado.
Como obtenho o item anterior ou o último?
fonte