2010-09-03 42 views
1

如果我知道列位置,是否可以將Jtable選項卡中的列標題從「Name」更改爲「Surname」?我想在第二個或第一個標籤中更改列名,而不是最後一個。如果我知道列位置,更改JTable中的列標題

使用此代碼,我只能更改最後一個選項卡中的列標題。我有4個選項卡。

JTableHeader th = table.getTableHeader(); 
TableColumnModel tcm = th.getColumnModel(); 
TableColumn tc = tcm.getColumn(0); 
tc.setHeaderValue("???"); 
th.repaint(); 

回答

1

你只需要通過使用列標識符來代替你的列索引:

JTableHeader th = table.getTableHeader(); 
TableColumnModel tcm = th.getColumnModel(); 
TableColumn tc = tcm.getColumn(tcm.getColumnIndex("Name")); // may not work, see note below 
tc.setHeaderValue("???"); 
th.repaint(); 

TableColumnModel#getColumnIndex(Object)作品與列標識符。大多數情況下,列標識符和列標題值是相同的。但是,在某些情況下,它們可能會有所不同(通常在使用i18n作爲列標題時)。但在這種情況下,我想你已經確定了你的列與一個恆定的ID。