Hallo,
ich möchte gerne Undo und Redo für die einzelnen Zellen einer JTable ermöglichen, klappt auch ganz gut, aber irgendwie wird für jede Zelle das gleiche JTextField benutzt und darum auch der gleiche UndoManager, deshalb kommt alles durcheinander.
Nun wollte ich fragen, ob man einen CellEditor per Zelle setzen kann. Man kann CellEditors für bestimmte Klassen oder Spalten setzen, aber ich habe keine Methode gefunden um sie per Zelle zu setzen.
Eine andere Frage ist, ob das sehr viel Performance und Platz verbraucht, wenn man jeweils ein JTextField samt UndoManager etc. pro Zelle braucht oder ob es irgendwie eine Möglichkeit gibt das alles doch gemeinsam zu nutzen.
Edit:
Für das eine Problem habe ich eine Lösung gefunden, man kann die Editors z.B. in eine Hashtable speichern und mit
jeweils den richtigen liefern. Die Frage stellt sich dann aber noch mehr, ob das nicht sehr langsam ist, wenn man viele Zellen hat und man dann noch zusätzlich immer in der Hashtable nachschauen muss etc.
ich möchte gerne Undo und Redo für die einzelnen Zellen einer JTable ermöglichen, klappt auch ganz gut, aber irgendwie wird für jede Zelle das gleiche JTextField benutzt und darum auch der gleiche UndoManager, deshalb kommt alles durcheinander.
Nun wollte ich fragen, ob man einen CellEditor per Zelle setzen kann. Man kann CellEditors für bestimmte Klassen oder Spalten setzen, aber ich habe keine Methode gefunden um sie per Zelle zu setzen.
Eine andere Frage ist, ob das sehr viel Performance und Platz verbraucht, wenn man jeweils ein JTextField samt UndoManager etc. pro Zelle braucht oder ob es irgendwie eine Möglichkeit gibt das alles doch gemeinsam zu nutzen.
Edit:
Für das eine Problem habe ich eine Lösung gefunden, man kann die Editors z.B. in eine Hashtable speichern und mit
Code:
public TableCellEditor getCellEditor(int row, int col) { ... }
jeweils den richtigen liefern. Die Frage stellt sich dann aber noch mehr, ob das nicht sehr langsam ist, wenn man viele Zellen hat und man dann noch zusätzlich immer in der Hashtable nachschauen muss etc.