我需要在 Present 列中放置一个复选框以标记客人何时到达(这是一个管理事件的应用程序)
String[] columns = {"Name","Present"};
Object[][] listInv = {
{"Giacomo Guilizzoni", false},
{"Guido Jack Guilizzoni", true},
{"Marco Botton", false},
{"Mariah Maclachlan", true},
{"Valierie Liberty", true}
};
DefaultTableModel dtm = new DefaultTableModel();
dtm.setDataVector(listInv, columns);
Jable tabla = new JTable(dtm);
TableColumn tcolumnas;
tcolumnas = tabla.getColumnModel().getColumn(0);
tcolumnas.setPreferredWidth(300);
jScroll = new JScrollPane(tabla);
tabla.setFillsViewportHeight(true);
我重写了getColumnsClass方法:
public Class getColumnClass(int columna) {
return Boolean.class;
}
而不是显示一个 JCheckBox 显示一个字符串“真”或“假”我做错了什么?
编辑:
就这么简单:
TableColumn tcolumnas = tabla.getColumnModel().getColumn(1);
columnas.setCellRenderer(tabla.getDefaultRenderer(Boolean.class));
tcolumnas.setCellEditor(tabla.getDefaultEditor(Boolean.class));