I also tried to add a listener directly to control.getDockingSplitPaneChildren() in case the issue is with Bindings.bindContent, but also this listener doesn't get called.
member: private final ListChangeListener<DockingSplitPaneChildBase> dockingSplitPaneChildrenListener = new ListChangeListener<DockingSplitPaneChildBase>() { @Override public void onChanged(Change<? extends DockingSplitPaneChildBase> change) { System.out.println("Change!"); } }; ... in constructor: control.getDockingSplitPaneChildren().addListener(dockingSplitPaneChildrenListener); -Florian Am Donnerstag, 2. Januar 2014, 22.51:23 schrieb Florian Brunner: > Hi, > > I'm in the process of upgrading Drombler FX to JavaFX 8 and hit another > regression issue: JavaFX 8 doesn't call listeners in my Skin implementation > (it used to work with JavaFX 2.x !) > > Here is the Skin implementation: > > https://sourceforge.net/p/drombler/drombler-fx/ci/default/tree/drombler-fx-core-docking/src/main/java/org/drombler/fx/core/docking/impl/skin/DockingSplitPaneSkin.java > > When I add something to > > control.getDockingSplitPaneChildren() > > what should trigger the listeners, then with a debugger I can trace the call > up to the WeakListChangeListener where on line 87 the listener is null. > > Note that I'm not using a WeakListChangeListener explicitly - JavaFX 8 must > have created this somewhere and for some reason the listener from the Skin > got lost! > > I also tried to keep a reference to my listeners as a member variable in the > Skin implementation, but this didn't work either. > > I haven't filed an issue yet because I guess there is already a new way how > to solve this. > > Note that I would like to solve this first with this "basic" Skin > implementation and not with the new SkinBase class just yet, as I'm not > familiar with that new class yet. One refactoring step at a time. ;-) > > -Florian > >