0
我有一個方法返回一個由數據庫填充的DefaultTableModel。我想要做的是添加布爾複選框到每個返回的記錄添加一個新的布爾列到返回的DefaultTableModel實例。用戶應該只能點擊/取消點擊這些複選框(應該允許多選)來操作GUI中的一些地圖對象。其他列應該是不可編輯的。任何想法如何實現這一目標?到目前爲止,我已經到以下一點,如下如何製作一個特定的jTable布爾列可編輯
public class UGIS_BooleanTableCellRenderer extends JCheckBox implements TableCellRenderer {
public UGIS_BooleanTableCellRenderer() {
setHorizontalAlignment(JLabel.CENTER);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
if (isSelected) {
setForeground(table.getSelectionForeground());
super.setBackground(table.getSelectionBackground());
setBackground(table.getSelectionBackground());
} else {
setForeground(table.getForeground());
setBackground(table.getBackground());
}
setSelected((value != null && ((Boolean) value).booleanValue()));
return this;
}
}
我可以重寫的isCellEditable方法還我已延長的TableCellRenderer。
DefaultTableModel dm = new DefaultTableModel() {
@Override
public boolean isCellEditable(int row, int column) {
return column == 3;
}
};
但我該如何使該方法返回的DefaultTableModel與我的被覆蓋的dm實例兼容?任何幫助,將不勝感激。
像一個魅力一樣工作。謝謝! –