Ajuda para encontrar erro

1 resposta
P

ola,
alguém poderia me ajudar a encontrar o erro no código abaixo,onde é feita uma pesquisa no banco,eu pego o resultado e troco o texto dos botões que estão sendo criados e adicionar na tela mas o problema é que se eu tenho 2 textos diferentes para colocar no botão ele coloca só o primeiro e ele preenche todos os botões com o texto e não a de acordo com a quantidade certa de resultados que vem do banco,ex:se no banco tem 2 textos a e b por exemplo e eu tnho 7 botoes todos são criados coom o texto a e o que eu qria era criar um botão cm o txt a e outro cm o txt b e os outros 5 criar cm txt vazio

for(int i=0;i<resul;i++) { BotaoModulo h=new BotaoModulo(); b[i]=h; b[i].setBounds(x, y, o, 25); x+=o; System.out.println("depois de criar o tam do botao i<11"); if(comboBox.getSelectedItem()!=null && comboBox2.getSelectedItem()!=null) { y1=comboBox.getSelectedItem();mode=comboBox2.getSelectedItem(); System.out.println("select atividade from nota where rc_aluno='"+t0.getText()+"' and disciplina='"+y1+"' and modulo='"+mode+"'"); resultado=comando.executeQuery("select atividade from nota where rc_aluno='"+t0.getText()+"' and disciplina='"+y1+"' and modulo='"+mode+"'"); while (resultado.next() ) { System.out.println("o resultado da pesq.é "+resultado.getObject(1).toString()); String r=resultado.getObject(1).toString(); //restringir para so trocar o txt uma vez cada linha talvez criando um array de strings q recebe o result do banco e depois cada botao recebe um txt deste [] b[i].setText(r); } }
resul define a qntde de botoes a ser criada;

podem me ajudar?
obrigada

1 Resposta

R

Não sei se entendi direito, me corrija se eu estiver errado

primeiro separa tudo isso dae pra ficar melhor visualizado e organizado

então tira o select dae e guarda ArrayList todos os resultados ja conferindo o seu combobox selecionado e tal...

quando for criar os botões, o limite é o numero de elementos dentro do arrayList... dentro do for, é soh ir setando os textos deles e resgatando os textos do arrayList

algo como:

for(int i=0; i < seuArrayList().size ; i++)  
{  
    BotaoModulo h=new BotaoModulo();  
    b[i]=h;  
    b[i].setBounds(x, y, o, 25);  
    x+=o;  
    b[i].setText( seuArrayList.get(i));  // o "i" aqui seria igual o indice usado para guardar o ResultSet no arrayList
    }  
}

// em outro método

public void preencheArray() {

seuArrayList = new ArrayList()<String>; // variavel global ja instanciada na classe... aqui vc só "limparia" ela antes de preencher

   if(comboBox.getSelectedItem() == null || comboBox2.getSelectedItem() == null )  
    {  
         return;
     }

     y1=comboBox.getSelectedItem();mode=comboBox2.getSelectedItem();  
     resultado=comando.executeQuery("select atividade from nota where rc_aluno='"+t0.getText()+"' and disciplina='"+y1+"' and modulo='"+mode+"'");  
     while (resultado.next() )  
     {     
         seuArrayList.add( i, resultado.getString("suaColuna") );
         System.out.println("Adicionando no arrayList, no indice " + i + " o elemento " + resultado.getString("suaColuna"));        
      }
}

fiz na unha aqui no forum mesmo entao me desculpa os erros ae =p

Criado 19 de janeiro de 2011
Ultima resposta 21 de jan. de 2011
Respostas 1
Participantes 2