是否可以删除一行代码以显示如何使GlazdJTable的单元格可编辑?
JTable table = new Jtable();
TableFormat tableFormat = GlazedLists.tableFormat(properties, headers);
model = new EventTableModel<Artikel>(filterList, tableFormat);
selectionModel = new EventSelectionModel<Artikel>(filterList);
table.setSelectionModel(selectionModel);
table.setModel(model);
// 如何设置表格单元格可编辑?
注意:我知道TableFormat必须实现WritableTableFormat接口。但我不知道我应该创建一个自定义表格格式,或者是否可以将Jtable单元格设置为可编辑的。
答案 0 :(得分:2)
覆盖TableModel's
方法
public boolean isCellEditable(int rowIndex, int columnIndex)
为其他单元格返回true表示可编辑和false。
答案 1 :(得分:1)
推荐的方法是使用WritableTableFormat。 EventTableModel检查表格格式是否为WritableTableFormat,如果是,则将isEditable()问题委托给它(如EventTableModel docs中所述)。否则,EventTableModel假定该表不可编辑。
目前您正在使用GlazedLists.tableFormat()方便方法,而不是实例化您自己的TableFormat。没关系,有一种方法可以精确地用于这种情况,您可以通过传入布尔数组来指定每列是否可编辑。请参阅GlazedLists.tableFormat(String[] propertyNames, String[] columnLabels, boolean[] editable) documentation。