0
我在列標題上寫了一個動作監聽器,允許用戶重命名所選列並添加一個新列。如何將默認表格模型與表格標題同步?
代碼重命名列 -
int column = jTable1.getSelectedColumn();
if (column == -1) {
return;
}
boolean blag = true;
String sColumnName = null;
while (blag) {
sColumnName = (String) JOptionPane.showInputDialog(jTable1, "Enter Column Name", "Add Column", JOptionPane.INFORMATION_MESSAGE, null, null, null);
if (sColumnName == null) {
return;
}
if (sColumnName.trim().equalsIgnoreCase("")) {
JOptionPane.showMessageDialog(jTable1, "Column name can not be blank.");
blag = true;
} else {
blag = false;
}
}
int viewColumn = jTable1.convertColumnIndexToView(column);
TableColumn tableColumn = jTable1.getColumnModel().getColumn(viewColumn);
tableColumn.setHeaderValue(sColumnName);
jTable1.getTableHeader().repaint();
代碼在JTable中添加新列。
boolean blag = true;
String sColumnName = null;
while (blag) {
sColumnName = (String) JOptionPane.showInputDialog(jTable1, "Enter Column Name", "Add Column", JOptionPane.INFORMATION_MESSAGE, null, null, null);
if (sColumnName == null) {
return;
}
if (sColumnName.trim().equalsIgnoreCase("")) {
JOptionPane.showMessageDialog(jTable1, "Column name can not be blank.");
blag = true;
} else {
blag = false;
}
}
defaultTableModel.addColumn(sColumnName);
但問題是,當我重新命名列,然後添加新列,是越來越增加了一個新列,但只顯示重命名的列的舊名。
如何將默認表模型與表頭進行同步?
+1很好的答案。 – Boro 2011-04-22 10:47:00
@trashgod - 感謝編輯,我的上網本在sssss上打招呼:-) – kleopatra 2011-04-22 16:02:53