您的位置:首页 > 其它

在JTable里面添加JCheckBox的几种方法

2017-10-22 22:55 337 查看
刚了解的几种简单的实现方法

方案一

写一个类继承DefaultTableModel或者AbstractTableModel

复写里面的方法

@Override
public Class<?> getColumnClass(int columnIndex) {
return this.getValueAt(0, columnIndex).getClass();
}


这个方法可以看情况要不要复写

public boolean isCellEditable(int row, int column) {
if (column == this.getColumnCount() - 1)
return true;
return false;
}


返回true代表这一列可编辑

方案二

通过实现TableCellRenderer接口或复写DefaultCellRenderer里面的方法

JTable table = new JTable(new DefaultTableModel(data, title) {

@Override
public boolean isCellEditable(int row, int column) {
return false;
}

});
table.getColumnModel().getColumn(4).setCellRenderer(new TableCellRenderer() {

@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
JCheckBox jck = new JCheckBox();
jck.setSelected(isSelected);

return jck;
}
});


还跟TableCellEditor(编辑器)有关,具体没了解

目前就了解到这些,有错误欢迎指出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: