Duvida com JTable (Resolvido)

1 resposta
jonasjgs2

esta classe abaixo ela mostra uma tabela na tela porem
nao mostra o cabecalho "nome, salario"
porque ?

import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class SwingExemplo15JTables {

	public static void main(String[] args) {
		JFrame tela = new JFrame("Exemplo de Tabela");
		tela.setBounds(0, 0, 1024, 768);

		JTable tabela = new JTable();
		tabela.setBounds(10, 10, 200, 400);

		String[] colunas = { "Nome", "Salário" };

		DefaultTableModel modelo = (DefaultTableModel) (new DefaultTableModel() {
			public boolean isCellEditable(int row, int column) {
				return false;
			}
		});

		// nao mostrao as colunas nao sei porque
		// na teoria o comando abaixo mostraria
		
		modelo.setColumnIdentifiers(colunas);
		modelo.setRowCount(0);

		Object[] objetos = new Object[2];

		objetos[0] = "Ze das Couves";
		objetos[1] = "1000";

		modelo.addRow(objetos);

		objetos[0] = "Silvio Santos";
		objetos[1] = "50000";

		modelo.addRow(objetos);

		objetos[0] = "Lula-la";
		objetos[1] = "12000";

		modelo.addRow(objetos);

		tabela.setModel(modelo);

		tela.add(tabela);
		tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		tela.setLayout(null);
		tela.setVisible(true);

	}
}

1 Resposta

E

Os cabeçalhos só aparecem se você jogar a tabela em um JScrollPane, e este é que pode ser posto no ContentPane do seu JFrame.
De qualquer maneira, evite usar o DefaultTableModel, a menos que isso seja uma lição de casa e seu professor nunca tenha ouvido falar que não é bom usar o DefaultTableModel :slight_smile:

Criado 25 de outubro de 2011
Ultima resposta 25 de out. de 2011
Respostas 1
Participantes 2