package de.iatb.test; import java.util.ArrayList; import java.util.List; import javafx.beans.property.ReadOnlyListWrapper; import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; public class Test { /** * @param args */ public static void main(String[] args) { List originalList = new ArrayList<>(); ReadOnlyListWrapper list = new ReadOnlyListWrapper(FXCollections.observableArrayList(originalList)); list.addListener(new ListChangeListener() { @Override public void onChanged(ListChangeListener.Change c) { while (c.next()) { System.out.println("A: " + c); } } }); list.addListener(new ListChangeListener() { @Override public void onChanged(ListChangeListener.Change c) { while (c.next()) { System.out.println("B: " + c); } } }); list.add("test1"); /* * Output should be as follows: * "A: [object reference] * B: [object reference]" * Output is: * "A: [object reference]" */ } }