JTable cria apenas uma linha =/[RESOLVIDO]

9 respostas
P

ola,
tenho um arraylist de tamanho 40 e percorro o mesmo para criar esta quantidade de linhas na minha tabela mas ela esta sendo exibida na tela com apenas 1 linha :frowning:
já coloquei um system para ter certeza do tamanho do arraylist e foi exibido o tamanho 40 na tela…acho q o problema está no meu codigo mesmo para criar a tabela fiz p seguinte metodo:

private void geraTabela3() { try { ArrayList<Double> listanotas = new ArrayList<Double>(); listanotas=new NotaDAO().buscaTodasNotasAluno(txtRC.getText()); System.out.println(listanotas.size()+"****"); for(int k=0;k<listanotas.size();k++) { ArrayList<Aluno1>listaDeAlunos = new ArrayList<Aluno1>(); String frequencia = null; Aluno1 aluno=new Aluno1(); model=new Aluno1TableModel(); ... } catch (Exception erro) { erro.printStackTrace(); } }

obrigada =D

9 Respostas

R

Você pode incluir o código da classe Aluno1TableModel?

P
sim, um dos erros era pq eu tinha criado o arraylist dentro do for :S
....System.out.println(listanotas.size()+"****");  
            for(int k=0;k<listanotas.size();k++)  
            {  
               [b] ArrayList<Aluno1>listaDeAlunos = new ArrayList<Aluno1>();  [/b]
                String frequencia = null; ...
coloquei antes agora estão sendo criadas as outras linhas mas o conteudo delas ta sendo o mesmo =/ Segue o codigo da classe Aluno1TableModel:
import java.util.ArrayList;
import java.util.List;

import javax.swing.table.AbstractTableModel;

public class Aluno1TableModel extends AbstractTableModel {

	private static final long serialVersionUID = 1L;
	private List<Aluno1> linhas;
	private String atividades[];
	private String[] colunas ; 

	public Aluno1TableModel() {
		pesquisa();
		linhas = new ArrayList<Aluno1>();
	}

	public Aluno1TableModel(List<Aluno1> listaDeAlunos) {
		linhas = new ArrayList<Aluno1>(listaDeAlunos);
	}

	public void pesquisa()
	{
		try {
			CargaHorariaDAO cargahorariadao = new CargaHorariaDAO();
			int qntdeMaxCHTotal=cargahorariadao.retornaMaiorCHTotal();	
			int menor=cargahorariadao.retornaMenorCHTotal();
			int tamArray=qntdeMaxCHTotal/menor;
			
			atividades=new String[tamArray];

			colunas=new String[qntdeMaxCHTotal];
			colunas[0]="Disciplina";
			colunas[1]="Modulo";
			colunas[2]="Nota";
			colunas[3]="Frequencia";
		
			for(int i=0;i<atividades.length;i++)
				atividades[i]="atv";
			int j=0;
			for(int i=4;i<atividades.length;i++)
			{
				colunas[i]=atividades[j];
				j++;
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
...
}

obrigada =D

gabbardo

Eu sugiro um lida nessa documentação.

http://download.oracle.com/javase/tutorial/uiswing/components/table.html

R

Depois de incluir no Model todos os registros desejados, e de definir o Model na Tabela, dispare o método Model.fireTableDataChanged(), para que a Tabela seja notificada de que houve mudança nos registros.

P

Eu utilizei o método mas não houve diferença =/
segue em anexo um print da situação atual da minha tabela
obg =D


R

Na figura que você enviou, a Tabela tem pelo menos 12 linhas (11 linhas aparecem completamente, e da linha 12 só vemos um pedacinho), em vez de apenas uma como você relatou. Esse comportamento não está correto?

P

antes estava aparecendo só uma linha mas como eu havia dito no 2º tópico:

<blockquote>sim,

um dos erros era pq eu tinha criado o arraylist dentro do for :S

view plaincopy to clipboardprint?

System.out.println(listanotas.size()+"****");

for(int k=0;k<listanotas.size();k++)

{

 ArrayListlistaDeAlunos = new ArrayList();  

String frequencia = null; 

coloquei antes agora estão sendo criadas as outras linhas mas o conteudo delas ta sendo o mesmo =/
o problema é que os valores estão se repetindo muitas vezes :frowning: mas isso é problema na minha pesquisa eu acho =/ de qualquer forma obrigada =D

R

Ops, sinto muito :confused: Acho que o caminho agora é verificar se a lista está sendo preenchida corretamente.

P

uhum :slight_smile:
vou fazer isso!
obrigada pela ajuda!=D

Criado 23 de setembro de 2011
Ultima resposta 23 de set. de 2011
Respostas 9
Participantes 3