Pegar proximo item jComboBox

6 respostas
rafa120

pessoal, nao consegui encontrar uma maneira de resolver o meu problema vendo os topicos aqui do forum

eu tenho um JComboBox e nele vem uma lista do meu banco de dados com as strings
e qualquer string que eu seleciono nesta lista ele salva no banco, seja qualquer posicao que ela esteja!

ai quando eu fiz um split para separar 2 itens no combo que vieram os problemas
agora ele nao pega qualquer posicao mais, ele envia somente o primeiro da lista!

segue o meu metodo q mostra os itens no combo

public void mostrarIdObra() { try { ContratoDao dao = new ContratoDao(); List<CadObra> listaObras = dao.getListaIdObra(); for (CadObra cc : listaObras) cbObra.addItem(cc); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, ex, "Erro ", JOptionPane.ERROR_MESSAGE, null); } }

6 Respostas

igor_jua

Cara, explica aí melhor pq eu particularmente não entendi…

rafa120

ai tem essa lista ai que sao todas as obras cadastradas

só que quando seleciono este “OBR.002 - Teste 1” ele nao envia este, envia somente o primeiro da lista “OBR.001 – Empresa Rafael”

lordtiago

rafa, o código que você mostrou só adiciona o resultado da consulta por comboBox, você está dizendo que este código só carrega o primeiro item da lista?

rafa120

Não, ele carrega todos itens da lista.
Mas quando quero enviar pro banco qualquer item da lista, ele envia somente o primeiro registro que estiver ai na lista.

Entende?

bom, este código que passei é que mostra os itens ai dentro do combo né
eu tenho outro aqui, mas nao sei se tem a ver

public void cadastro() throws ParseException
    {
        try
        {
            CadContrato cad = new CadContrato();           

            String itemComboBox = cbObra.getItemAt(0).toString();
            String[] itemsComboBox = itemComboBox.split("--");
            String idObra = itemsComboBox[0];
            String nomeProjetoObra = itemsComboBox[1];

            cad.setObra(idObra);
           
            ContratoDao dao = new ContratoDao();
            dao.adiciona(cad);
            JOptionPane.showMessageDialog(this, "Contrato cadastrado com sucesso!", "Mensagem", JOptionPane.INFORMATION_MESSAGE);
        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(this, ex, "Erro ao cadastrar o contrato", JOptionPane.ERROR_MESSAGE, null);
        }
    }
rafa120

Alguma ajuda, por favor?

djorodrigo

Cara,

seu código está pegando o primeiro item da lista.
O que você tem que fazer é, usando o método getSelectedIndex() do JComboBox e pegar o item selecionado, e daí em diante, usar o método cbObra.getItemAt passando o índice(elemento) selecionado no combo.
Algo assim:
String itemComboBox = cbObra.getItemAt(JComboBox.getSelectedIndex()).toString();

Abs.

Criado 2 de agosto de 2010
Ultima resposta 2 de ago. de 2010
Respostas 6
Participantes 4