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
>
>