Exklusiv für beide Seiten CellEditors in JTable
-
12-09-2019 - |
Frage
Im Moment habe ich ein Problem, wodurch die Bearbeitung der Inhalt einer Zelle in einem JTable den Inhalt eines anderen ändert; zwei der Säulen sich gegenseitig aus. Sie sind beide Kontrollkästchen.
Im Moment, wenn ich eine Zelle zu verändern, ist es nicht, bis die anderen neu gezeichnet ist, dass es aktualisiert. Daher können beide Zellen in der Zeile angezeigt werden, wie zu einem beliebigen Zeitpunkt ausgewählt wird. Dies kann durch den Aufruf updateUI () überwunden werden, aber es ist langsam und nicht eine allgemein gute Idee.
Hat jemand irgendwelche Tipps oder Anregungen?
Lösung
Es klingt wie Sie einen TableModelListener verwenden sollten für Änderungen an das Tablemodel zu hören. Wenn ein Kontrollkästchen geändert wird, wird Sie ein Update Ereignis empfangen und Sie würden dann die andere Option aktualisieren, indem Sie model.setValueAt (...). Das Modell ist für die Benachrichtigung der Ansicht, die die Zelle neu zu streichen.