如何将UndoableEditListener添加到JTable单元格?

时间:2013-12-11 08:08:46

标签: java swing jtable undo-redo

我可以将UndoableEditListener添加到JTable吗?例如,使用JTextField,我们这样做:

textField = new JTextField();
      Document doc = textField.getDocument();
      doc.addUndoableEditListener(new MyUndoableEditListener());

2 个答案:

答案 0 :(得分:3)

您可以通过下一种方式为CellEditor的{​​{1}}执行此操作:

JTabelDefaultCellEditor

一起使用
JTextField

JTextField field = new JTextField(); field.getDocument().addUndoableEditListener(new UndoableEditListener() { @Override public void undoableEditHappened(UndoableEditEvent arg0) { System.out.println("profit"); } }); DefaultCellEditor editor = new DefaultCellEditor(field); table.getColumnModel().getColumn(COLUMN_INDEX).setCellEditor(editor); 是您所需列的tableJTable索引。

答案 1 :(得分:1)

没有人停止使用将此侦听器分配给Document的文本字段单元格编辑器的JTable :)对于您的表使用自定义单元格编辑器,请将UndoableEditListener实现为编辑的文本组件的文档。

查看官方Tutorial page for example and demo using CellEditor