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.
Um proposta elegante seria vc estender o JComboBox, e adicionar (sobrecarregar) o método addItem, só que para um array de Object.
publicvoidaddItem(Object[]itens);
Ai dentro deste método, vc coloca um for (por exemplo) e adiciona cada item com o método addItem (Object) do JComboBox.
Ai no seu formOS, vc inseri o seu ComboBox personalizado.
Blz?
D
DianaPJ
como eu disse array eh a minha criptonita…
no metodo que eu fiz…listarID
ele tah assim:
isso jah dah…soh que o return esta errado, eu sei…mas naum sei como arrumar…
se alguem puder localizar o erro…
publicString[]listaIDOS(){String[]ids=newString[this.nRegID()];try{Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery("select id_os from os_cad_registros");inti=0;while(rs.next()){intid=rs.getInt("id_os");ids[i]=""+id;i++;}}catch(SQLExceptionex){System.out.println(ex);}returnids;}
D
DianaPJ
ele retorna…java.lang.String…e naum o valor…
D
DianaPJ
acabei de perceber que o vetor naum estah adicionando o valor…o que serha que estah errado…
S
seuparadaPJ
como vc deve saber os componentes visuais podem trabalhar com modelos de dados. nesse vc só precisar criar um modelo que se comporta da maneira que vc precisa. Dessa forma vc nao precisa mexer no componente visual…
D
DianaPJ
Eu naum preciso criar um modelo para fazer isso: jComboBox.addItem(gb.listaIDOS());
sendo que gb eh o nome da classe onde esta o listaIDOS()…
O problema eh que ha alguma coisa errada de modo que o array naum estah sendo preenchido…eh um erro no meu codigo e naum no componente…
se vc puder achar o erro, te agradeco.
publicString[]listaIDOS(){String[]ids=newString[this.nRegID()];///nRegID...pega o numero de registro para criar o array com esse numero///// try{Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery("select id_os from os_cad_registros");inti=0;while(rs.next()){intid=rs.getInt("id_os");Stringidi=""+id;System.out.println(idi);ids[i++]=idi;System.out.println("array: "+ids[i]);/////coloquei para escrever e descobri que ele naum esta sendo preenchido....soh da 'array:'null ///// }}catch(SQLExceptionex){System.out.println(ex);}returnids;}
o que estou fazendo errado???
EDITADO:POR FAVOR COLOQUE SEUS CÓDIGOS DENTRO DA TAG CODE, OU APERTE O BOTÃO ACIMA “CODE” PARA QUE LELA FIQUE EM DESTAQUE E SEJA MELHOR OLHAR O CÓDIGO
J
JavaTecoPJ
ids é um array de String e o retorna é tb um array de String… então o problema é outo…
J
JavaTecoPJ
Então a sua pesquisa não está rertornando nada?
D
DianaPJ
ela esta retornando…eu jah pensei nisso…
por isso tem ali uma linha assim:
o resultado da impressao no console eh esse:
23
array null
24
array null…
por isso eu sei que a minha pesquisa esta certa…e o array naum esta preenchendo.