public ValidatorBase() { parentProperty().addListener((o, oldVal, newVal) -> parentChanged()); errorTooltip = new Tooltip(); errorTooltip.getStyleClass().add("error-tooltip"); }
lstProjectProblems.getSelectionModel().selectedItemProperty().addListener((ov, oldValue, newValue) -> { txtDescription.getChildren().clear(); if( newValue != null ) { btnProceed.disableProperty().bind(hasErrors); btnProceed.sceneProperty().addListener( (ov, oldVal, newVal) -> { if( oldVal == null && newVal != null ){ Window window = newVal.windowProperty().get(); if( window != null ){ window.setOnCloseRequest( (ev) -> closeWindow() ); } else { newVal.windowProperty().addListener( (ob, oldW, newW) -> { newW.setOnCloseRequest( (ev) -> closeWindow() ); });
/** * Get the window property of a node * * @param n * the node the window property to observe * @return the property */ public static ObservableValue<Window> windowProperty(Node n) { ObjectProperty<Window> w = new SimpleObjectProperty<Window>(); ChangeListener<Window> l = (o, oldV, newV) -> w.set(newV); n.sceneProperty().addListener((o, oldV, newV) -> { if (oldV != null) { oldV.windowProperty().removeListener(l); } if (newV != null) { newV.windowProperty().addListener(l); } }); return w; }
public final TextField getEditor() { return editorProperty().get(); }
treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<TreeItem<DisplayWorkflowClassesModel>>() { @Override public void changed(ObservableValue<? extends TreeItem<DisplayWorkflowClassesModel>> observable, copy.disableProperty().bind(treeView.getSelectionModel().selectedItemProperty().isNull()); contextMenu.getItems().add(copy); treeView.setContextMenu(contextMenu);
NodeChooser<N, F, D, T> nodeChooser = new NodeChooser<>(window, treeModel, appData, context, filter, openedProjectsList); Button button = (Button) dialog.getDialogPane().lookupButton(ButtonType.OK); button.disableProperty().bind(nodeChooser.selectedNodeProperty().isNull()); nodeChooser.doubleClick().addListener((observable, oldValue, newValue) -> { if (Boolean.TRUE.equals(newValue)) { dialog.setResultConverter(buttonType -> { if (buttonType == ButtonType.OK) { return nodeChooser.selectedNodeProperty().get();
@Override public void changed(ObservableValue<? extends Bounds> observable, Bounds oldValue, Bounds newValue) { targetNode.layoutBoundsProperty().removeListener(this); updateGraphicPosition(targetNode); } });
@Override public void initialize(URL location, ResourceBundle resources) { BooleanBinding noSelection = fileListView.getSelectionModel().selectedItemProperty().isNull(); removeFileButton.disableProperty().bind(noSelection); moveItemUpButton.disableProperty().bind(noSelection.or(fileListView.getSelectionModel().selectedIndexProperty().isEqualTo(0))); // we can't just map the val because we need an ObservableNumberValue IntegerBinding lastIndexBinding = Bindings.createIntegerBinding(() -> fileListView.getItems().size() - 1, Val.wrap(fileListView.itemsProperty()).flatMap(LiveList::sizeOf)); moveItemDownButton.disableProperty().bind(noSelection.or(fileListView.getSelectionModel().selectedIndexProperty().isEqualTo(lastIndexBinding))); fileListView.setCellFactory(DesignerUtil.simpleListCellFactory(File::getName, File::getAbsolutePath)); selectFilesButton.setOnAction(e -> onSelectFileClicked()); removeFileButton.setOnAction(e -> onRemoveFileClicked()); moveItemUpButton.setOnAction(e -> moveUp()); moveItemDownButton.setOnAction(e -> moveDown()); }
/** * Get the window property of a node * * @param n * the node the window property to observe * @return the property */ public static ObservableValue<Window> windowProperty(Node n) { ObjectProperty<Window> w = new SimpleObjectProperty<Window>(); ChangeListener<Window> l = (o, oldV, newV) -> w.set(newV); n.sceneProperty().addListener((o, oldV, newV) -> { if (oldV != null) { oldV.windowProperty().removeListener(l); } if (newV != null) { newV.windowProperty().addListener(l); } }); return w; }
public final ValidationState getValidationState() { return validationSupport.validationStateProperty().get(); }
@Override public void invalidated(Observable o) { control.sceneProperty().removeListener(this); modifyTableMenu(control, consumer); } });
dialog.getDialogPane().lookupButton(ButtonType.OK).disableProperty().bind(table.getSelectionModel().selectedItemProperty().isNull());
public CachedTransition(final Node node, final Timeline timeline, CacheMemento... cacheMomentos) { this.node = node; this.timeline.set(timeline); mementos = new CacheMemento[(node == null ? 0 : 1) + cacheMomentos.length]; if (node != null) { mementos[0] = new CacheMemento(node); } System.arraycopy(cacheMomentos, 0, mementos, node == null ? 0 : 1, cacheMomentos.length); statusProperty().addListener(observable -> { switch (getStatus()) { case RUNNING: starting(); break; default: stopping(); break; } }); }
/** * Resizes the {@link #nodeClip} to the specified new node's {@link Node#boundsInParentProperty() * boundsInParent} (or to an empty rectangle if it is {@code null}) and moves the * {@link #updateNodeClipToNewBoundsListener} from the old to the new node's {@code boundInParents} property. * <p> * Designed to be used as a lambda method reference. * * @param o * the {@link ObservableValue} which changed its value * @param oldNode * the old node * @param newNode * the new node */ private void updateNodeClipToChangingNode( @SuppressWarnings("unused") ObservableValue<? extends Node> o, Node oldNode, Node newNode) { // resize the rectangle to match the new node resizeRectangleToNodeBounds(nodeClip, newNode); // move the listener from one node to the next if (oldNode != null) { oldNode.boundsInParentProperty().removeListener(updateNodeClipToNewBoundsListener); } if (newNode != null) { newNode.boundsInParentProperty().addListener(updateNodeClipToNewBoundsListener); } }
/** * the field is marked with the class "invalid" when the validation status is invalid to give the user visual feedback. */ public void setEnableInvalidStyle(final boolean active) { validationSupport.validationStateProperty().addListener(o -> { if (active) { if (validationSupport.validationStateProperty().get() == ValidationState.INVALID) { getStyleClass().addAll(Style.INVALID.css()); } else { getStyleClass().removeAll(Style.INVALID.css()); } } }); }
public final ValidationState getValidationState() { return validationSupport.validationStateProperty().get(); }
@Override public void invalidated(Observable o) { if (target.getScene() != null) { target.sceneProperty().removeListener(this); sceneConsumer.accept(target.getScene()); } } };
public HighLightRectangle(Text text) { listener = observable -> clear(text); text.textProperty().addListener(new WeakInvalidationListener(listener)); text.localToSceneTransformProperty().addListener(new WeakInvalidationListener(listener)); }
public final void setWorker(final Worker<?> newWorker) { if (newWorker != worker) { if (worker != null) { worker.stateProperty().removeListener(stateListener); end(); } worker = newWorker; if (newWorker != null) { newWorker.stateProperty().addListener(stateListener); if (newWorker.getState() == Worker.State.RUNNING || newWorker.getState() == Worker.State.SCHEDULED) { // It is already running begin(); } } } }
public ValidableTextField(String text) { super(text); this.getStyleClass().add("validable-field"); focusedProperty().addListener((o, oldVal, newVal) -> { if (!newVal) { validate(); } }); textProperty().addListener((o, oldVal, newVal) -> validationSupport.makeNotValidated()); validationSupport.validationStateProperty().addListener( o -> { if (validationSupport.validationStateProperty().get() == ValidationState.INVALID && errorTooltipManager != null) { errorTooltipManager.showTooltip(); } }); }