Erro ao mostrar os nomes das colunas na JTable

Bom Dia Galera,

e o seguinte,

estou tendo um problema com a JTable: Eu consigo mostrar tudo o que quero nela mesmo os títulos da colunas onde aparece letras do tipo A,B,C…etc…

Abaixo a minha classe Model…

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author administrador
 */
public class TabelaGeral extends AbstractTableModel {
    
    
    private ArrayList linhas = new ArrayList();
    private static String[] colunas;
    
    
    /**
     * Creates a new instance of TipoDocumentoCaixa
     */
    public TabelaGeral(String[] dados) {
        addRow(dados);
    }
    
    
    /**
     * Creates a Defaul Constructor
     */
    public TabelaGeral() {
        
    }
    
    
    
    public ArrayList getLinhas() {
        return linhas;
    }
    
    
    
    public String[] getColunas() {
        return colunas;
    }
    
    
    
    public void setLinhas(ArrayList linhas) {
        // Apaga conteúdo anterior e adiciona o novo.
        this.linhas = null;
        // Novo conteúdo.
        this.linhas = linhas;        
        // altera a estrutura da tabela.
        fireTableStructureChanged();
    }
    
    
    
    public void setColunas(String [] colunas) {
        this.colunas = colunas;   
    }
    
    
    
    public int getRowCount() {
        return getLinhas().size();
    }
    
    
    public int getColumnCount() {
        return colunas.length;
    }
    
    
    public Object getValueAt(int rowIndex, int columnIndex) {
        
        // Obtem a linha, que é um array de String.
        String [] linha = (String []) getLinhas().get(rowIndex);
        // Retorna o objeto que esta na coluna.
        return linha[columnIndex];
        
    }
    
    
    public void addRow(String [] dadosLinha){
        getLinhas().add(dadosLinha);
        int linha = getLinhas().size()-1;
        
        fireTableRowsInserted(linha, linha);
        
        return;
    }
    
    
    public void removeLinha(int row) {
        getLinhas().remove(row);
        fireTableRowsDeleted(row, row);
    }
    
    
} // fim da classe

Aqui minha na minha classe eu crio da seguinte forma:


       String[] colunas =
             {"Perfil", "Tabela", "Acesso", "Inclusão", "Alteração", "Exclusão"};
        tabela = new TabelaGeral();
        tabela.setColunas ( colunas );
        tabela.setLinhas ( getResults() );  // Preenche com as linhas...
        jTable1.setModel(tabela);

Alguém tem alguma idéia de onde esta o erro :?:

Porque eu passo os nomes da coluna e tudo :cry:

Até +. :wink:

onde se lê:
Eu consigo mostrar tudo o que quero nela mesmo os títulos da colunas onde aparece letras do tipo A,B,C…etc…

leia-se:
Eu consigo mostrar tudo o que quero nela menos os títulos das colunas onde aparece letras do tipo A,B,C…etc…

Cara o meu modelo de tabelas está um pouco diferente, mas o seu parece funcionar e se vc tentar retirar o static das colunas ??

Qualquer coisa vou postar o meu exemplo

E aê NeoHacker…

fiz o teste, mas mesmo assim não deu certo…ela continua aparecendo A,B,C onde deveriam aparecer os nomes das colunas…

Até.

Faltou sobrescrever o método getColumnName para retornar o nome de suas colunas.

@Override public String getColumnName(int column) { return colunas[column]; }

Não esqueça também de no método setColunas usar o fireTableStructureChanged para avisar aos listeners de que a estrutura da tabela mudou.

Isto mesmo…agora funcionou certinho…

Valeu pessoal mais uma vez… :smiley: