Como faço para retornar todos valores de ArrayList em um Jtable… no exemplo abaixo, eu estou rodando todo ArrayList, porém ele ta jogando dentro do Jtable somente o ultimo registro do ArrayList.
Da uma olhada nesse teu FOR que ele esta execultado toda tua atribuição e ta criando a JTable mais de uma vez por estar dentro do FOR então ele cria e quando passa novamente pelo laço ele cria outra vez e destroi o anterior e assim por diante. E por estar trazendo somente a ultima linha é porque
por exemplo Integer a=new Integer (dados.B_ra); ele cria cada vez que o laço repete então vai prevalecer os dados da ulitma vez que o laço foi execultado.
Jauns
Vlw pela atenção…
To meio que apanhando para o jtble… Estou tentando fazer eh criar um jtable onde o mesmo receba valores de um Array List (“alunos.txt”) que contem (nome, cod, nota1,nota2…nota6)… Vc teria como eu poderia fazer de outra forma… tentei tirar do FOR como vc disse, mas naum deu certo…
malves_info
Vc esta buscando estes dados onde? de um banco de dados? em uma classe que recebe os dados ?.. posta ae o codigo aonde esses dados são coletados.
Jauns
O arquivo interface faz a chamada…
malves_info
Brother coloca essa alteração no teu metodo TABELA, espero que funcione hehehehe…
publicstaticvoidtabela(ArrayListcarregar){Estruturadados=newEstrutura();JFramef=newJFrame("JTable Sample");Containercontent=f.getContentPane();String[]columns={"nome","R.A.","Nt1","Nt2","Nt3","Nt4","Nt5","Nt6"};/** * Foi passado o codigo que cria a JTable antes do laço */Object[][]rowsTemp=newObject[][]{null};DefaultTableModelmodelo=newDefaultTableModel(rowsTemp,columns);JTabletable=newJTable(modelo);JScrollPanescrollPane=newJScrollPane(table);content.add(scrollPane,BorderLayout.CENTER);//Obtem o Iterator de carregarIteratori=carregar.iterator();//Enquanto obtiver dadoswhile(i.hasNext()){//Recebendo o proximo registro dados=(Estrutura)i.next();Integera=newInteger(dados.B_ra);Doubleb=newDouble(dados.B_si);Doublec=newDouble(dados.B_pi);Doubled=newDouble(dados.B_at);Doublee=newDouble(dados.B_ac);Doubleg=newDouble(dados.B_arq);Doubleh=newDouble(dados.B_adm);Objectrows[][]={{dados.B_nome,a,b,c,d,e,g,h}};//Adiciona nova linhamodelo.addRow(rows);}f.setSize(600,200);f.setVisible(true);}
Jauns
Malves_info , em primeiro lugar, muito obrigado pela atenção que vc esta dano a este algoritmo…
Esta ocorrendo um erro ao executar esta nova rotina, esta aparecendo na celula “[Ljava.lang.Object;@131303f” esta mensagem…
Estava interpretando sua rotina, e ve que vc usou o metodos de adicionar sempre uma linha no final… vou tentar refazer dessa forma…(claro estudar mais sobre ArrayList e Jtable)… veja so como ficou ao executar o mesmo…
Brother achei uma solução rápida aqui, espero que desta vez funcione.
publicstaticvoidtabela(ArrayListcarregar){Estruturadados=newEstrutura();JFramef=newJFrame("JTable Sample");Containercontent=f.getContentPane();String[]columns={"nome","R.A.","Nt1","Nt2","Nt3","Nt4","Nt5","Nt6"};/** * Foi passado o codigo que cria a JTable antes do laço */Object[][]rowsTemp=newObject[][]{null};DefaultTableModelmodelo=newDefaultTableModel(rowsTemp,columns);JTabletable=newJTable(modelo);JScrollPanescrollPane=newJScrollPane(table);content.add(scrollPane,BorderLayout.CENTER);//Obtem o Iterator de carregarIteratori=carregar.iterator();Objectrows[]=newObject[columns.length];//Enquanto obtiver dadoswhile(i.hasNext()){intindex=0;//Recebendo o proximo registro dados=(Estrutura)i.next();rows[0]=dados.B_nome;Integera=newInteger(dados.B_ra);rows[1]=a;Doubleb=newDouble(dados.B_si);rows[2]=b;Doublec=newDouble(dados.B_pi);rows[3]=c;Doubled=newDouble(dados.B_at);rows[4]=d;Doublee=newDouble(dados.B_ac);rows[5]=e;Doubleg=newDouble(dados.B_arq);rows[6]=g;Doubleh=newDouble(dados.B_adm);rows[7]=h;//Adiciona nova linhamodelo.addRow(rows);}f.setSize(600,200);f.setVisible(true);}
Acho que vc pode tbm mudar essa passagem de valor direto ao inves por exemplo de ser:
Double h=new Double (dados.B_adm); poderia ser rows[7] = dados.B_adm;
Jauns
Muito obrigado pela ajuda… funcionou perfeitamente…
malves_info
Blza Então…
L
lfrguimaraes
Eu to tentando usar uma tabela de maneira parecida.
Na verdade ja está funcionando; a bronca é que ele deixa o usuario editar as informações contidas nas celulas.
Voces sabem como desabilitar a opção de edição??