Listener para JCombox

Estou com o seguinte problema,

Tenho um JCombobox onde são listados os produtos quando o meu JFrame é carregado.

Preciso que quando a pessoa selecione um produto nesse JCombobox, ele me abre uma nova JFrame trazendo a tela para preencher os valores.

O que ocorre é que, eu crio os componentes, adiciono o ItemListener e depois eu seto os produtos no meu JCombobox, quando faço isso ele entende que estou selecionando e na verdade só estou populando.

Como faço pra ele só corresponder ao Listener quando o usuário de fato for no Combobox e clicar para selecionar a opção?

** Lembrando não posso alterar a ordem da operação, é necessário criar os componentes e já adicionar o listener e depois atualizar o combobox com os itens **

Vai ver você está implementando algum Listener mais geral… que além de cliques/selecao pegue qualquer outra operacao.

Tente verificar isso, verifique se tem algum Listener especifico p/ quando um valor é realmente selecionado.

:wink:

Ver isto aqui:

comboBox.addActionListener(ActionListener -> {
     //pega posição que foi selecionada.
    int posição = comboBox.getSelectedIndex();
     //pega um objeto
    Object objeto = comboBox.getSelectedItem();
    //suas instruções
});

Já tem um tempo q não mexo no Swing no javaFX essa ação só ocorre quando é clicado no item do comboBox, posso está confundido as coisas kk to sem tempo de testar, ver se dá certo ai

Bacana, mas como vou identificar se foi o usuário e que ativo esse listener ou se foi na hora que eu populei o JComboBox com o addItem?

Eu não to entendo essa forma q vc ta me dizendo, esse método só acontece quando o usuário clica, e não quando a lista está sendo populada! Tanto q eu tenho um projeto assim aqui!

Jean,

Quando eu faço um combobox.addItem("Batata") ele ativa o listener e eu preciso que ele não ative, apenas quando o usuário de fato for no combobox e clicar. Acabei de testar e isso não acontece.