JTable sem o Header

2 respostas
adrianostanley

Ola pessoal. Estou trabalhando com JTable e criei uma tabela com base em uma classe filha de AbstractTableModel.

Porem, ao adicionar a tabela em um container, por exemplo, o header da mesma nao aparece. Soh aparece se eu adiciona-lo manualmente, assim:
add(table.getTableHeader,BorderLayout.CENTER);
Porem, perde toda a formatacao do meu container, pois o header fica com um height muito grande... Enfim... imagino que nao implementei algum metodo necessario para que o header fique automaticamente inserido na tabela... alguem sabe como faco isso???

Abracos...

TableModel:
import javax.swing.table.AbstractTableModel;

public class TableModel extends AbstractTableModel
{
    private String[] columnNames;

    private Object[][] data;
    
    public TableModel( String[] columnNames, 
    	Object[][] data )
    {
    	this.columnNames = columnNames;
    	this.data = data;
    }

    public Class getColumnClass( int column ) 
    {
        return getValueAt( 0, column ).getClass();
    }

    public int getColumnCount() 
    {
        return columnNames.length;
    }

    public String getColumnName( int column ) 
    {
        return columnNames[ column ];
    }

    public int getRowCount() 
    {
        return data.length;
    }

    public Object getValueAt( int row, int column ) 
    {
        return data[row][column];
    }
}

2 Respostas

leonardom

Coloque seu JTable dentro de um JScrollPane que vai funcionar.

JScrollPane scroll = new JScrollPane(yourTable);

add(scroll);
adrianostanley

Funcionou perfeitamente!! Brigadao…

Criado 20 de outubro de 2006
Ultima resposta 20 de out. de 2006
Respostas 2
Participantes 2