Carregar query em jcombobox

5 respostas
Diana

Ola boa tarde…estou com problema…tenho duas classes…uma gerenteBD e outra formOS…
nessa formOS coloquei um jCombobox…e gostaria de que a consulta que eu fiz no gerenteBD me desse um return de modo que no formOS no jCombobox…eu possa fazer assim:
jCombobox.addItem(gb.listaIDOS());

Como eu posso fazer isso galera???
jah fiz algumas tentativas…na ultima ele preencheu todos os codigos numa linha soh…imagino que deve ser algumo coisa com array…mas na programacao o array eh a minha criptonita.

[]'s

5 Respostas

leonardom

Voce pode usar esse dois construtores da classe JCombox:

JComboBox(Object[] items)
Creates a JComboBox that contains the elements in the specified array.
JComboBox(Vector items)
Creates a JComboBox that contains the elements in the specified Vector.

No caso do primeiro, vc faz o seu método retornar os resultados em um array, caso opte pelo segundo faz o seu método retornar um objeto do tipo Vector.

na classe formOS :

JComboxBox meuCombo = JComboBox(gb.listaIDOS());

Na classe gerenteBD:

public String[] listaIDOS()
{
   String[] lista = new String[2];
    
    lista[0] = "Item1";
    lista[1] = "Item2";

    return lista;
}

Lógico que na sua classe gerenteDB vc vai pegar essas dados de uma tabela do banco, então é só montar o array com os dados da tabela.

[/code]

Diana

sim…foi exatamente isso q eu fiz…abaixo segue meu codigo…

public String[] listaIDOS(){
String []ids=new String[this.nRegID()];

///nRegID…pega o numero de registro para criar o array com esse numero/////

try{

Statement stmt=con.createStatement();

ResultSet rs=

stmt.executeQuery(select id_os from os_cad_registros);

int i=0;

while(rs.next()){

int id=rs.getInt(id_os);

String idi=""+id;

System.out.println(idi);

ids[i++]=idi;

System.out.println("array: "+ids[i]);

/////coloquei para escrever e descobri que ele naum esta sendo preenchidosoh da 'array:'null /////

}

}catch(SQLException ex){

System.out.println(ex);

}

return ids;

}

o que estou fazendo errado???

leonardom

Seu erro está aqui:

Voce está adicionando um item apenas e esse item é a sua lista, faz desta maneira:

jCombobox = new JComboBox(gb.listaIDOS());
Diana

mesmo assim…ele naum estah preenchendo o array…eu sei pq mandei escrever e estah null…

leonardom

Está dando null na hora de imprimir pode na verdade vc esta imprimindo a posição posterior a q vc preencheu . . . ,

Criado 16 de abril de 2004
Ultima resposta 16 de abr. de 2004
Respostas 5
Participantes 2