ComboBox mutavel

Ola galera do GUJ.

Eu estou desenvolvendo uma aplicação ond o conteudo de um combo box deve ser preenchido com os registros do campo nome da tabela escritorio.

Eu ja tenho o objeto escritorioList montado, ms não sei como preencher a combobox.

P.S. Estou usando o netbeans.

Obrigado a todos.

Bom. Vamos lá. Tu estás usando então a interface gráfica com os objetos tirados da Swing. Isso é ótimo.

Primeiro, é importante saber que tu vais precisar abrir o banco de dados e pegar os registros da tabela ESCRITORIO. Vamos fazer isso:

O meu exemplo abaixo usa um banco de dados MySQL fictício. Tu vais usar o que tu quiseres, alterando um pouco o valor das Strings que eu usei aqui.

try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(ClassNotFoundException e) { System.out.println("Classe do driver nao encontrada:"); System.out.println(e.getMessage()); System.exit(1); } try { String url = "jdbc:odbc:<endereço do banco de dados>"; con = DriverManager.getConnection(url, "username", "senha"); } catch (SQLException e) { System.out.println("Essa naba não funciona! Você deve ter perdido a conexão com o BD!"); }

Bom. Estabelecida a conexão com o Banco de Dados, vamos ao que interessa: fazemos um ResultSet com os dados de uma consulta SQL à tabela ESCRITORIO e ao mesmo tempo colocamos para dentro da ComboBox os dados que vamos ter aí restornando.

Statement comandoSQL = conecta.con.createStatement(); String sql = "Select <campo> from escritorio;"; ResultSet resultado = comandoSQL.executeQuery(sql);

while(resultado.next()){ combobox.addItem(resultado3.getObject(1).toString()); }

O grande segredo está no comando .addItem - aqui, adicionamos umas Strings, que na verdade são os dados retornados do BD. E aí tudo fica simples.

Não sei se esse meu pequeno código-fonte te ajuda, se tu ficaste com dúvidas, ou o quê. mas se te surgirem dúvidas, volte a escrever.

Um abraço!

kr Muito o brigado pela dica ms tem como fazer isso com um list?

É q eu ja tenho um list q recebe o resultado da consulta.

Valeu.

for(int i=0;i<suaLista.size();i++){
combobox.addItem(suaLista.get(i));

}
Ou vc já tentou deste jeito???

Ele preenche o comboBox assim:

sigc.escritorio.Escritorios[idEscritorios=0]
sigc.escritorio.Escritorios[idEscritorios=1]
sigc.escritorio.Escritorios[idEscritorios=2]
sigc.escritorio.Escritorios[idEscritorios=3]

como faço pra selecionar o campo q desejo como o campo nome.

Reescreva o método toString da classe do seu objeto para que o mesmo apenas retorne o campo nome do objeto…

abraços

Pronto agora deu tudo certo.
So preciso limpar a combobox antes de adicionar os itens, caso contrário, vão se repetir.
Exemplo:
Nome1
Nome2
Nome3
Nome1
Nome2
Nome3

Eu usei o metodo jComboBox.removeAllItems() acho q é a melhor maneira, ms se tiver outra melhor por vafor postem.

Obrigado a todos.

Só mais uma coisa.
Eu adicionei os nomes dos escritorios na combobox ms queria usar os indice primario como parametro pra outra tabela.

como eu referencio o inde que ja esiste na tabela Escritorios com os itens adicionados no combobox pra passa-los como parametro no lugar do proprio nome?

Obrigado.