private void init() { node = new FlowNodeWindow(this); node.setTitle(getModel().getTitle()); node.setLayoutX(getModel().getX()); node.setLayoutY(getModel().getY()); node.setPrefWidth(getModel().getWidth()); node.setPrefHeight(getModel().getHeight()); registerListeners(getModel()); modelProperty.addListener( new ChangeListener<VNode>() { @Override public void changed(ObservableValue<? extends VNode> ov, VNode oldVal, VNode newVal) { removeListeners(oldVal); registerListeners(newVal); } }); for (Connector connector : getModel().getConnectors()) { addConnector(connector); } getModel() .getConnectors() .addListener( new ListChangeListener<Connector>() { @Override public void onChanged(ListChangeListener.Change<? extends Connector> change) { while (change.next()) { if (change.wasPermutated()) { for (int i = change.getFrom(); i < change.getTo(); ++i) { // permutate } } else if (change.wasUpdated()) { // update item } else if (change.wasRemoved()) { // removed for (Connector connector : change.getRemoved()) { removeConnector(connector); } } else if (change.wasAdded()) { // added for (Connector connector : change.getAddedSubList()) { addConnector(connector); } } } // end while change.next() } }); // skinFactory.connectionFillColorTypes().addListener(new MapChangeListener<String, // Color>() { // @Override // public void onChanged(MapChangeListener.Change<? extends String, ? extends Color> // change) { // if (change.wasAdded()) { // for (Connector connector : getModel().getConnectors()) { // // if (connector.getType().equals(change.getKey())) { // Shape cN = connectors.get(connector.getId()); // cN.setFill(change.getValueAdded()); // } // } // } // } // }); // // skinFactory.connectionStrokeColorTypes().addListener(new MapChangeListener<String, // Color>() { // @Override // public void onChanged(MapChangeListener.Change<? extends String, ? extends Color> // change) { // if (change.wasAdded()) { // for (Connector connector : getModel().getConnectors()) { // // if (connector.getType().equals(change.getKey())) { // Shape cN = connectors.get(connector.getId()); // cN.setStroke(change.getValueAdded()); // } // } // } // } // }); }