Pegar valor do JCombo sem chamar a classe dele

4 respostas
marcosarantesj

Estou com uma dúvida e de acordo com pesquisas não sei se é possível isso. Eu sei como preencher um JCombo com classe. Ex:
for(Cidade cidade:cidades.carregar()){ cbCidade.addItem(cidade); }

Para retornar o código na mesma tela:
((Cidade)cbCidade.getModel().getSelectedItem()).getCidade_id());

Agora eu queria saber se é possível eu pegar o código sem eu precisar passar como parâmetro o valor do Jcombo?
No JTextField eu consigo pegar o valor dele sem passar nenhum parâmetro percorrendo pelos controles JTextField, mas no JCombo não achei como porque se eu não tiver a classe dele, não sei como retornaria o código do ítem selecionado. Alguém sabe?

4 Respostas

Krismorte

Você já esta fazendo a busca pela maneira certa. Não entendi o que você quer.

marcosarantesj

Eu tenho uma classe: Cidade. Tenho os campos: cidade_id,descricao,uf_id.
Eu tenho uma função que pega o valor dos componentes, mas não pega o valor do JCombo. Pega somente o texto selecionado. Eu quero pegar o código dele, mas acho que se eu não tiver a classe dele, não tenho como retornar. Então nesse caso vou ter que continuar enviando o valor pelos parâmetros mesmo. É o jeito. Não é? Essa função eu chamo ela e é genérica para todos os forms.

Krismorte

mostra esse codigo ai

marcosarantesj
` if (component instanceof JComboBox) {

JComboBox combo = (JComboBox) component;

if (combo.getName() != null && !combo.getName().equals("") && combo.getSelectedIndex() > -1) {

cont++;
//Adiciona o valor da combo (aqui quero pegar o código e não o texto dele, mesmo se eu não souber a classe usada para preencher o JCombo. Como não sei eu pego o valor do ArrayList que é passado como parâmetro. É o jeito. Pegar o texto seria combo.getModel().getSelectedItem(), mas o código dele não. )
                valores.add(combos.get(cont - 1));
            }
        }`
Criado 13 de fevereiro de 2016
Ultima resposta 22 de fev. de 2016
Respostas 4
Participantes 2