2010-04-22 128 views
1

嘿傢伙,在活動日曆上工作。我有一些麻煩我的柱頭顯示..這裏是代碼爪哇鞦韆表問題

private JTable calendarTable; 
private DefaultTableModel calendarTableModel; 

final private String [] days = {"Sunday", "Monday", "Tuesday", 
            "Wednesday", "Thursday", "Friday", 
            "Saturday"}; 
////////////////////////////////////////////////////////////////////// 
/* Setup the actual calendar table */ 


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

// setup columns 
for(int i = 0; i < 7; i++) 
    calendarTableModel.addColumn(days[i]); 

calendarTable = new JTable(calendarTableModel); 

calendarTable.getTableHeader().setResizingAllowed(false); 
calendarTable.getTableHeader().setReorderingAllowed(false); 

calendarTable.setColumnSelectionAllowed(true); 
calendarTable.setRowSelectionAllowed(true); 
calendarTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 

calendarTable.setRowHeight(105); 
calendarTableModel.setColumnCount(7); 
calendarTableModel.setRowCount(6); 

此外,林之類的新的桌子。我怎樣才能使表的最大尺寸之間的分裂rowHeight的?

+0

請澄清你的意思是:「我怎麼才能讓rowHeight在表格的最大尺寸之間分割?」 – lins314159 2010-04-22 04:37:02

+0

嗯,我有6行,我希望他們填滿整個面板,每行都是相同的高度。 – 2010-04-22 04:43:35

+0

add this JTableHeader header = new JTableHeader(); calendarTable.setTableHeader(header); – sreejith 2010-04-22 04:44:34

回答

2

表頭

要麼把calendarTable在JScrollPane,或添加calendarTable.getTableHeader()爲好。

行高度

添加監聽器來改變行的高度,只要調整表的大小。

calendarTable.addComponentListener(new ComponentAdapter() { 
    public void componentResized(ComponentEvent evt) { 
     if (evt.getID() == ComponentEvent.COMPONENT_RESIZED) { 
      calendarTable.setRowHeight(calendarTable.getHeight()/calendarTable.getRowCount()); 
     } 
    } 
}); 
+0

好吧,行大小工作得很好,但即使使用JScrollPane和getTableHeader,我也無法獲取標頭。 JScrollPane scrollPane = new JScrollPane(calendarPanel); – 2010-04-22 13:11:55

+0

現在工作!謝謝! :)我只需要將scrollPane添加到面板而不是calendarTable – 2010-04-22 14:25:34