Como eu posso colocar um ArrayList em uma JTable?
Tow rachando a cuca e tow com uns problemas…
Estou tentando transformar primeiro para um array e depois passar pro JTable…
Mas não tem como fazer um caminho direto? Colocar o ArrayList?
Como eu posso colocar um ArrayList em uma JTable?
Tow rachando a cuca e tow com uns problemas…
Estou tentando transformar primeiro para um array e depois passar pro JTable…
Mas não tem como fazer um caminho direto? Colocar o ArrayList?
Tem sim…crie o seu próprio TableModel!
Dê uma olhada na classe AbstractTableModel.
aqui no guj tem um tutorial legal sobre JTable, em duas partes:
http://www.guj.com.br/java.tutorial.artigo.140.1.guj
http://www.guj.com.br/java.tutorial.artigo.147.1.guj
Pra voce vai ser mais interessante a segunda parte, acho…
Ai galera... eu fiz como estava no tutorial... só que tah rolando um problema...
Ele só mostra as linhas que eu passei... as colunas não! Nas colunas fica A, B, C, D, E, F....
Vou colocar minhas classe de modelo de tabela:
package br.com.caep.imp;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
/**
*
* @author Nobrega
*/
public class ModeloDeTabela extends AbstractTableModel{
/** Cria um novo modelo de Tabela.
*/
public ModeloDeTabela(ArrayList tlinhas, String[] tcolunas) {
linhas = tlinhas;
colunas = tcolunas;
}
/**
* Retorna o numero de colunas no modelo.
* @see javax.swing.table.TableModel#getColumnCount()
*/
public int getColumnCount() {
return colunas.length;
}
/**
* Retorna o numero de linhas existentes no modelo
* @see javax.swing.table.TableModel#getRowCount()
*/
public int getRowCount() {
return linhas.size();
}
/**
* Obtem o valor na linha e coluna
* @see javax.swing.table.TableModel#getValueAt(int, int)
*/
public Object getValueAt(int rowIndex, int columnIndex) {
// Obtem a linha, que é uma String []
String [] linha = (String [])linhas.get(rowIndex);
// Retorna o objeto que esta na coluna
return linha[columnIndex];
}
private ArrayList linhas = null;
private String[] colunas = null;
}
e eu chamo o construtor da classe corretamente:
ModeloDeTabela(ArrayList, String[])
alguem tem alguma ideia sobre o que pode tah acontencendo?
Não vi direito mas acho que ta faltando o método:
public String getColumnName(int col) {
return coluna[col];
}
Veja se você implementou todos os métodos corretamente.
Era isso mesmo cara!! vlw!
Mas ai… quais são os métodos que eu tenho que implementar?
eu implementei os seguintes:
public Object getValueAt(int rowIndex, int columnIndex)
public String getColumnName(int col)
public int getRowCount()
public int getColumnCount()
Falta mais algum?
Se você está trabalhando com JTable sugiro você dar uma olhada no framework SwingBean. Ele tem um Table Model que trabalha com List e muito mais! Vale a pena dar uma olhada: