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.