【发布时间】:2016-03-09 07:22:39
【问题描述】:
我创建了一个表(我正在使用 NetBeans IDE)。加载表格时,我将一些数据放入此表格中。我想在 loading 行的第一列中添加一个复选框。此外,我将此表放在 JPanel 上,并使用 formComponentShown(java.awt.event.ComponentEvent evt) 方法加载数据表。
【问题讨论】:
我创建了一个表(我正在使用 NetBeans IDE)。加载表格时,我将一些数据放入此表格中。我想在 loading 行的第一列中添加一个复选框。此外,我将此表放在 JPanel 上,并使用 formComponentShown(java.awt.event.ComponentEvent evt) 方法加载数据表。
【问题讨论】:
JTable 使用TableModel 检索列类和数据。
DefaultTableModel,经常使用,为所有列返回“Object.class”。如果您使用DefaultTableModel,只需覆盖getColumnClass 方法,并为您的列返回正确的类。默认的renderer 将显示Boolean.class 类型值的复选框,用于example。
public class MyDefaultTableModel extends DefaultTableModel {
private Class[] columnClasses;
public Class[] getColumnClasses() {
return columnClasses;
}
public void setColumnClasses(Class[] columnClasses) {
this.columnClasses = columnClasses;
}
@Override
public Class getColumnClass(int columnIndex) {
return columnClasses[columnIndex];
}
}
【讨论】: