我正在寻找上一个问题的答案, 并且有一个巧妙的想法来克服JTable
. 我需要编辑器逐行不同,而JTable
每列只能处理一个编辑器。
所以我的想法是每次都使用 aMouseListener
检查行和列JTable
并设置新的编辑器。
但是,第二次调用setCellEditor()
没有任何效果。编辑器仍然是第一个设置的。那么如何让“setCellEditor”为同一列再次工作?
这是MouseListener
.
public void mouseClicked(MouseEvent e) {
int cols = resultTable.columnAtPoint(new Point(e.getX(), e.getY()));
int rows = resultTable.rowAtPoint(new Point(e.getX(), e.getY()));
StorageObject item = (StorageObject) resultTable.getModel().getValueAt(rows, cols);
TableColumn col = resultTable.getColumnModel().getColumn(cols);
col.setCellEditor(new MyComboBoxEditor(item.list));
}