2

Can i add an UndoableEditListener to a JTable? For example with a JTextField we do this :

textField = new JTextField();
      Document doc = textField.getDocument();
      doc.addUndoableEditListener(new MyUndoableEditListener());
blackbishop
  • 30,945
  • 11
  • 55
  • 76

2 Answers2

3

You can do that for CellEditor of the JTabel in next way:

use DefaultCellEditor with 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);

table is your JTable and COLUMN_INDEX index of needed column.

alex2410
  • 10,904
  • 3
  • 25
  • 41
1

No one stop use to assign this listener to the Document of of Text Field cell editor of JTable :) For your table use a custom cell editor, implement the UndoableEditListener to the editor's text component's Document.

Check out the Official Tutorial page for example and demo using CellEditor

Sage
  • 15,290
  • 3
  • 33
  • 38