Boa Dia a tods, estou com um problemão aqui, eu possuo dois combobox e preciso q um seja atualizado de acordo com a opção escolhida no outro em tempo de execução, caso semelhante a um sistema em que o usuário escolhe o estado em um combobox e em outro ja são carregados as cidades referentes a esse estado.
//COMBOBOX ORIGEMprivateJComboBoxgetJComboBoxModelo(){if(jComboBoxModelo==null){jComboBoxModelo=newJComboBox();jComboBoxModelo.setBounds(143,7,128,20);jComboBoxModelo.setModel(newDefaultComboBoxModel(PrintThreadMapaTrabalho.MODELO));ComponentUIProps.getInstance().setComboBox(jComboBoxModelo);jComboBoxModelo.setSelectedIndex(0);jComboBoxModelo.addItemListener(newjava.awt.event.ItemListener(){publicvoiditemStateChanged(java.awt.event.ItemEvente){enableComponents();}});}returnjComboBoxModelo;}//COMBOBOX DESTINO, QUE DEVE SER ATUALIZADOprivateJComboBoxgetJComboBoxAgruparPor(){if(jComboBoxAgruparPor==null){jComboBoxAgruparPor=newJComboBox();jComboBoxAgruparPor.setBounds(143,28,128,20);jComboBoxAgruparPor.setModel(newDefaultComboBoxModel(SQLQueryMapaTrabalho.AGRUPAR_POR));ComponentUIProps.getInstance().setComboBox(jComboBoxAgruparPor);jComboBoxAgruparPor.setSelectedIndex(1);}returnjComboBoxAgruparPor;}privatevoidenableComponents(){if(sel==PrintThreadMapaTrabalho.MODELO_RESUMO){jComboBoxAgruparPor.setEnabled(true);}elseif(sel==PrintThreadMapaTrabalho.MODELO_INDIVIDUAL){jComboBoxAgruparPor.setModel(newDefaultComboBoxModel(SQLQueryMapaTrabalho.AGRUPAR_POR_PAC));}
sendo que por padrão o combobox deve carregar a lista AGRUPAR_POR e quando selecionado o MODELO_INDIVIDUAL ele deve atualizar o combox destino coma lista AGRUPAR_POR_PAC e vice e versa.
Desculpa a desorganização, qualquer coisa estamos ai!
P
Porcojava
só que noi meu caso eu teria que puxar uma lista referente a escolha feita…
tipo o combobox ja existe na tela…por exemplo o tem o combo1 que abre como padrao o item1 assim sendo o combo2 também tera o item1, só que qndo eu alterar para item2 no comb1 o combo 2 tera de ser alterado para o item2 também
francis.junio
Com o codigo que o ThgVieira colocou acima você consegue fazer oq ta precisando…
no evento ActionListener você consegue pegar o valor que foi selecionado no Combo
ObjectvlCombo=combo1.getSelectedItem();
e depois é so adicionar o vlCombo no combo2
combo2.addItem(vlCombo);
Agora, para deixar o item selecionado no combo2 você precisa percorrer os itens do combo2 e encontrar o indice do valor. Encontrando o index do valor que voce quer deixar selecionado no combo2, é so dar um selectIndex(index) no combo2.
Tenta ai… qq coisa posta de novo…
P
Porcojava
pior q não funciona… eu adicionei uma lista no combo2 através do Listener do combo1, até debuguei o código e no model ele parecem os itens que devem ser adicionado no combo2 mais eles não são inseridos, tentei dar um repaint() também no combo2 e nda, o combo2 continua com os mesmos itens que estavam antes.
P
Porcojava
consegui atualiza-los…porém agora esta ocorrendo um erro quando a tela é chamada o erro é o seguinte…
e só acontece quando tento inicializar a tela com esse model, se a telafor inicializada com outro model e no decorrer da execução eu quiser trocar ela aceita de boua…