Beste Möglichkeit, eine Änderung der JTree-Auswahl zu verhindern?

Ich habe einen Dialog, in dem jeder Eintrag in einem JTree die entsprechenden Optionen in einem anderen Bereich hat, der aktualisiert wird, wenn sich die Auswahl ändert. Wenn die Optionen für einen der Einträge ungültig sind und der Benutzer versucht, zu einem anderen Eintrag in der Baumstruktur zu wechseln, soll ein Fehlerdialog angezeigt werden, und die Auswahl darf sich nicht ändern.

Ich habe versucht, dies mit einem valueChangeListener auf dem JTree zu tun, muss dann aber momentan den valueChanged-Methodenaufruf "setSelectionRow" auf die alte Auswahl setzen, wenn ein Fehler auftritt. Damit ich keinen StackOverflow erhalte, setze ich vorher einen booleschen "isError" auf true, damit ich das neue valueChanged-Ereignis ignorieren kann. Irgendwie habe ich das Gefühl, dass dies nicht die beste Lösung ist. ; -)

Wie würde ich es stattdessen machen? Gibt es ein gutes Entwurfsmuster für Situationen wie diese?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage