O que está acontecendo com a minha JTable?!

Boa tarde galera…

Estou com problemas na criação de uma JTable. O problema é que os nomes das colunas não aparecem!!! Eu conheço o construtor JTable(Vector rowData, Vector columnNames), e passo os argumentos para ele, mas não aparece nada além dos dados que vão no JTable em si. Eu fiz tudo como manda o tutorial de JTable aqui do GUJ, mas nada. Se alguém puder ajudar, eis o código da minha aplicação:

package mypackage6;

import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JTable;
import java.awt.Rectangle;
import javax.swing.BorderFactory;
import java.awt.SystemColor;

public class JTableTest extends JFrame {
  
   String[] colunas = new String []{"Estado","Cidade"};
   String[][] dados = new String [][] {
    {"SP","Sao Paulo"},
    {"RJ","Rio de Janeiro"},
    {"RN","Rio Grande do Norte"},
    {"PR","Parana"}
   };
  
  // Construo a JTable e passo para ela dois array de Strings      
  private JTable tabela = new JTable(dados, colunas);
  
  public JTableTest()
  {
    try
    {
      jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }

  }

  private void jbInit() throws Exception
  {
    this.getContentPane().setLayout(null);
    this.setSize(new Dimension(397, 298));
    tabela.setBounds(new Rectangle(15, 15, 355, 235));
    tabela.setBorder(BorderFactory.createLineBorder(SystemColor.inactiveCaption, 1));
    this.getContentPane().add(tabela, null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  
  public static void main(String[] args)
  {
    JTableTest app = new JTableTest();
    app.setVisible(true);
  }
  
}

Valeuz…

heheh, joga ela dentro de um JScrollPane…

Fallow

[quote=TedLoprao]heheh, joga ela dentro de um JScrollPane…

Fallow[/quote]

Só isso? Vou tentar…

[quote=neófito][quote=TedLoprao]heheh, joga ela dentro de um JScrollPane…

Fallow[/quote]

Só isso? Vou tentar…[/quote]

EU NÃO ACREDITO!!! QUE QUE É ISSO!!!.. deu certo…! Mas que bosta, não? Como eu iria adivinhar que para aparecer os títulos da JTable ela tem que estar dentro de um JScrollPane? Isso não é mto lógico… tá mais pra mágica, bruxaria, descoberta, menos lógica…

Valeu Rodrigo…

Mais uma dúvida:

Assim como eu mostro os títulos das colunas, tem como mostrar também os nomes das linhas como, por exemplo, o Excel?

Valeu…

Bom, isso exige um pouco mais… Na verdade, tu tem algumas opções, uma delas é fazer com que a primeira coluna do seu JTable seja o nome das linhas… Acho q essa explicação ficou estranha, mas supomos que no seu TableModel, ssempre que for pedido a primeira coluna, ela será o nome da linha…

Ai vc pode colocar um TableCellRenderer nessa coluna para ela ficar igual ao cabeçalho…

Outra solução é vc trabalhar com o RowHeader do JScrollPane… Se vc for ver o cabeçalho do JTable se encontra no CollumnHeader do JScrollPane, então vc poderia fazer algum componente que teria os nomes das linha e adicionaria ali…

Bem, de qualquer forma, vc terá um certo trabalho!! heheh

Mas até que depois q tu pega o jeito fica mais fácil…

Uma dica, dá uma procurada no google por JTable e Excel, talvez ache algo útil…

Espero ter sido útil… falllow

Valeu, foi bastante útil sim :wink: