IllegalStateException in StateView

Description

The following exception sometimes occurs after executing an operation

java.lang.IllegalStateException: Not a permutation change
at javafx.base/javafx.collections.ListChangeListener$Change.getPermutation(ListChangeListener.java:293)
at javafx.controls/javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel$3.handle(TreeTableView.java:2552)
at javafx.controls/javafx.scene.control.TreeTableView$TreeTableViewArrayListSelectionModel$3.handle(TreeTableView.java:2440)
at javafx.base/javafx.event.WeakEventHandler.handle(WeakEventHandler.java:79)
at javafx.base/com.sun.javafx.event.CompositeEventHandler$WeakEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:248)
at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
at javafx.controls/javafx.scene.control.TreeItem.fireEvent(TreeItem.java:764)
at javafx.controls/javafx.scene.control.TreeItem.updateChildren(TreeItem.java:943)
at javafx.controls/javafx.scene.control.TreeItem.lambda$new$0(TreeItem.java:425)
at javafx.base/com.sun.javafx.collections.ListListenerHelper$SingleChange.fireValueChangedEvent(ListListenerHelper.java:164)
at javafx.base/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
at javafx.base/javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
at javafx.base/javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
at javafx.base/javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
at javafx.base/javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205)
at javafx.base/javafx.collections.ModifiableObservableListBase.setAll(ModifiableObservableListBase.java:90)
at de.prob2.ui.states.StatesView.updateTree(StatesView.java:323)
at de.prob2.ui.states.StatesView.lambda$updateRoot$24(StatesView.java:389)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)

Environment

None

Activity

Show:

Fabian Vu March 10, 2020 at 12:15 PM

Deselect the selected column when the TreeTableView loses the focus. This avoids the exception

dgelessus December 18, 2019 at 2:38 PM

This is a bug in JavaFX, see JDK-8199324.

Fixed

Details

Assignee

Reporter

Priority

Created November 30, 2019 at 2:38 PM
Updated March 10, 2020 at 12:16 PM
Resolved March 10, 2020 at 12:16 PM