2012-08-07 190 views
2

我想添加一個JTable到JTabbedPane。它很好,但是,列的標題是不可見的。將JTable添加到JTabbedPane?

這裏是我的代碼relavent點點滴滴:

JTabbedPane jp = new JTabbedPane(); 
static JTable t1 = new JTable(); 
static MainFrame f = new MainFrame(); 
static DefaultTableModel model = new javax.swing.table.DefaultTableModel(); 

    f.scroll.add(jp); 
    f.scroll.setViewportView(jp); 
    jp.addTab("Tab 1", null, t1, ""); 
    t1.setModel(model); 

    model.addColumn("Description"); 
    model.addColumn("Change"); 
    model.setRowCount(1); 
    model.fireTableStructureChanged(); 

其中f是一個JFrame和f.scroll是一個JScrollPane

回答

2
  1. 添加JTableJScrollPane然後TableHeader應該是可見的,然後將JScrollPane添加到JTabedpane,否則必須以編程方式添加TableHeader

  2. 不叫model.fireTableStructureChanged();,這一事件在使用DefaultTableModel

  3. 更好的可能是創建列,添加行,這兩個值付諸DefaultTableModelObjectVector

  4. 補充的是正確實現此型號爲JTable,例如table = new JTable(myModel);

0

而不是增加你的JTabbedPane中的滾動面板,然後你的表爲tabbedpane的,只是增加你的選項卡窗格到您的幀(F),然後滾動面板添加到該選項卡1,然後設置該表是滾動窗格的視口。

結構:

JFrame { 
    JTabbedPane { 
     Tab 1 { 
      JScrollPane { 
       JTable 
      } 
     } 
     Tab 2 { 

     } 
     tab 3 { 

     } 
    } 
}