Ola pessoal, to com um probleminha em trazer dados para meu combobox veja so minha real situacao
//VARIAVEL CAMPOS ARMAZENA TUDO QUE TEM NA MINHA TABLE DO BANCO "CAMPO"
campos = controlC.buscaOsCampos();
String[] campo = new String[campos.size()];
for (int i = 0; i < campos.size(); i++) {
campo[i] = ((CBean) campos.get(i)).getCampoA(); // a duvida vem aqui!!!!
}
//TENHO 2 JCOMBOBOX
jcb_campoA.setModel(new DefaultComboBoxModel(campo));
jcb_campoB.setModel(new DefaultComboBoxModel(campo));
O PROBLEMA EH O SEGUINTE: tenho 2 combobox que precisa carregar conteudo de 2 tabelas do meu banco de dados, na variavel campos ja trago tudo que tem nos 2 campos mas precisava dar o getCampoA + o getCampoB para carregar no combobox os conteudo mas nao to conseguindo oq devo fazer?
tentei isso
for (int i = 0; i < campos.size(); i++) {
campo[i] = ((CBean) campos.get(i)).getCampoA() + ((CBean) campos.get(i)).getCampoB(); // para fazer a variavel campo dar o getCampoA e getCampoB mas nao da para usar o sinal de + entao creio que deva ter otra solucao para isso.
}
Especialmente na implementação de um ComboBoxModel específico, ListCellRenderer e ComboBoxEditor. Assim, tu guarda em um ComboBoxModel específico implementado por você, uma lista de Objetos do tipo que você quiser, e quando for pegar o conteúdo selecionado no combobox, tu obtém teu objeto, com todas as informações necessárias.
Campo A Campo B
--------------- ----------------------
valor 1 campo a valor 1 campo b
valor 2 campo a valor 2 campo b
valor 3 campo a valor 3 campo b
valor 4 campo a valor 4 campo b
valor 5 campo a valor 5 campo b
você quer um combo box que traga:
valor 1 campo a
valor 2 campo a
valor 3 campo a
valor 4 campo a
valor 5 campo a
valor 1 campo b
valor 2 campo b
valor 3 campo b
valor 4 campo b
valor 5 campo b
ou que traga como texto:
valor 1 campo a - valor 1 campo b
valor 2 campo a - valor 2 campo b
valor 3 campo a - valor 3 campo b
valor 4 campo a - valor 4 campo b
valor 5 campo a - valor 5 campo b
for (int i = 0; i < campos.size(); i++) {
campo[i] = ((CBean) campos.get(i)).getCampoA().concat(campos.get(i)).getCampoB()); // a duvida vem aqui!!!!
}
valor 1 campo a
valor 2 campo a
valor 3 campo a
valor 4 campo a
valor 5 campo a
valor 1 campo b
valor 2 campo b
valor 3 campo b
valor 4 campo b
valor 5 campo b
valor 1 campo a
valor 2 campo a
valor 3 campo a
valor 4 campo a
valor 5 campo a
valor 1 campo b
valor 2 campo b
valor 3 campo b
valor 4 campo b
valor 5 campo b
assim[/quote]
Mas então pq vc está tentando concatenar campoA + campoB?? dessa forma, tu faz um for na tua lista de dados e vai adicionando no Combobox…
Fernando gracas ao system out println vi q tinha um erro nas buscas e estava trazendo apenas o campoB entao criei 2 metodo de busca la e chamo aqui:
campo busco todos campoA
campo2 busco todos campoB
String[] campos = new String[campo.size()];
String[] campos2 = new String[campo2.size()];
for (int i = 0; i < campo.size(); i++) {
campos[i] = ((CBean) campo.get(i)).getCampoA();
campos2[i] = ((CBean) campo2.get(i)).getCampoB();
}
jcb_campoA.setModel(new DefaultComboBoxModel(campos+campos2));// aqui precisava colocar o campoA e B percorridos!
jcb_campoB.setModel(new DefaultComboBoxModel(campos+campos2));// mas ele nao aceita o operador + e nem o concat
so que note q meu laco for percorre apenas o campoA o q dev ofazer? percorrer os 2 ? fazer 2 lacos for? e como no meu setModel do meu combobox colocar o campoA e B la =// obrigada por a ajuda de vcs
public class TesteJComboBox {
public static void main(String args[]) {
String campoA[] = new String[5];
String campoB[] = new String[5];
campoA[0] = "item a 1";
campoA[1] = "item a 2";
campoA[2] = "item a 3";
campoA[3] = "item a 4";
campoA[4] = "item a 5";
campoB[0] = "item b 1";
campoB[1] = "item b 2";
campoB[2] = "item b 3";
campoB[3] = "item b 4";
campoB[4] = "item b 5";
JComboBox combo = new JComboBox();
for (int i = 0; i < campoA.length; i++) {
combo.addItem(campoA[i]);
}
for (int i = 0; i < campoB.length; i++) {
combo.addItem(campoB[i]);
}
}
}