1

我需要在 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));
4

0 回答 0