Galera, criei meu próprio modelo de tabela seguindo o artigo aqui do GUJ.
As linhas estão aparecendo de boa, agora o titulo das colunas não aparecem, o que esta errado?
Agradeço desde Já.
O meu código ficou assim:
import java.awt.BorderLayout;
import java.util.ArrayList;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.AbstractTableModel;
public class SimpleTableModel extends AbstractTableModel {
private ArrayList linhas = null;
private String[] colunastabela = null;
private String[] getColunas() {
return colunastabela;
}
private ArrayList getLinhas() {
return linhas;
}
private void setColunas(String[] strings) {
colunastabela = strings;
}
private void setLinhas(ArrayList list) {
linhas = list;
}
@Override
public int getColumnCount() {
return getColunas().length;
}
@Override
public int getRowCount() {
return getLinhas().size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// Obtem a linha, que é uma String []
String [] linha = (String [])getLinhas().get(rowIndex);
// Retorna o objeto que esta na coluna
return linha[columnIndex];
}
@Override
public String getColumnName(int columnIndex) {
// Retorna o conteúdo do Array que possui o nome das colunas
// no índice especificado.
return colunastabela[columnIndex];
}
public SimpleTableModel(ArrayList dados, String[] colunas){
setLinhas(dados);
setColunas(colunas);
}
public static JTable createJTable() {
ArrayList dados = new ArrayList();
String[] colunas = new String[] {"Nome", "Local"};
// Alimenta as linhas de dados
dados.add(new String[] { "Joao", "São Paulo" });
dados.add(new String[] { "Maria", "Rio de Janeiro" });
dados.add(new String[] { "Francisco", "Rio Grande do Norte" });
SimpleTableModel modelo = new SimpleTableModel(dados, colunas);
JTable tabela = new JTable(modelo);
tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
TelaPrincipal.jpanel_mostrar_clientes_.setLayout(new BorderLayout());
TelaPrincipal.jpanel_mostrar_clientes_.add(tabela);
return tabela;
}
}