javafx.scene.Node.sceneProperty()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(5.4k)|赞(0)|评价(0)|浏览(139)

本文整理了Java中javafx.scene.Node.sceneProperty()方法的一些代码示例,展示了Node.sceneProperty()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.sceneProperty()方法的具体详情如下:
包路径:javafx.scene.Node
类名称:Node
方法名:sceneProperty

Node.sceneProperty介绍

暂无

代码示例

代码示例来源:origin: stackoverflow.com

public static Binding<Boolean> containsFocus(Node node) {
  return EasyBind.monadic(node.sceneProperty())
      .flatMap(Scene::focusOwnerProperty)
      .map(owner -> {
        for (Node n = owner; n != null; n = n.getParent()) {
          if (n == node) return true ;
        }
        return false ;
      })
      .orElse(false); // when node.getScene() is null
}

代码示例来源:origin: org.controlsfx/controlsfx

@Override public void invalidated(Observable o) {
    if (target.getScene() != null) {
      target.sceneProperty().removeListener(this);
      sceneConsumer.accept(target.getScene());
    }
  }
};

代码示例来源:origin: org.controlsfx/controlsfx

target.sceneProperty().addListener(sceneListener);

代码示例来源:origin: at.bestsolution.efxclipse.rt/org.eclipse.fx.ui.controls

/**
 * 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;
}

代码示例来源:origin: at.bestsolution.eclipse/org.eclipse.fx.ui.controls

/**
 * 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;
}

代码示例来源:origin: org.fxmisc.flowless/flowless

private C cellForItem(T item) {
  C cell = cellPool.getCell(item);
  // apply CSS when the cell is first added to the scene
  Node node = cell.getNode();
  EventStreams.nonNullValuesOf(node.sceneProperty())
      .subscribeForOne(scene -> {
        node.applyCss();
      });
  // Make cell initially invisible.
  // It will be made visible when it is positioned.
  node.setVisible(false);
  if (cell.isReusable()) {
    // if cell is reused i think adding event handler
    // would cause resource leakage.
    node.setOnScroll(this::pushScrollEvent);
    node.setOnScrollStarted(this::pushScrollEvent);
    node.setOnScrollFinished(this::pushScrollEvent);
  } else {
    node.addEventHandler(ScrollEvent.ANY, this::pushScrollEvent);
  }
  return cell;
}

代码示例来源:origin: com.guigarage/ui-basics

public static void bindToStageTitle(Node n, StringProperty property) {
  ChangeListener<Window> windowListener = (observable, oldValue, newValue) -> {
    if (oldValue != null && oldValue instanceof Stage) {
      ((Stage) oldValue).titleProperty().unbindBidirectional(property);
    }
    if (newValue != null && newValue instanceof Stage) {
      ((Stage) newValue).titleProperty().bindBidirectional(property);
    }
  };
  n.sceneProperty().addListener((observable, oldValue, newValue) -> {
    if (oldValue != null) {
      oldValue.windowProperty().removeListener(windowListener);
    }
    if (newValue != null) {
      newValue.windowProperty().addListener(windowListener);
      if (newValue.getWindow() != null && newValue.getWindow() instanceof Stage) {
        ((Stage) newValue.getWindow()).titleProperty().bindBidirectional(property);
      }
    }
  });
  if (n.getScene() != null) {
    n.getScene().windowProperty().addListener(windowListener);
  }
}

代码示例来源:origin: com.guigarage/ui-basics

public static void registerListenerForWindowFocus(Node n, InvalidationListener l) {
  ChangeListener<Window> windowListener = (observable, oldValue, newValue) -> {
    if (oldValue != null) {
      oldValue.focusedProperty().removeListener(l);
    }
    if (newValue != null) {
      newValue.focusedProperty().addListener(l);
    }
  };
  n.sceneProperty().addListener((observable, oldValue, newValue) -> {
    if (oldValue != null) {
      oldValue.windowProperty().removeListener(windowListener);
    }
    if (newValue != null) {
      newValue.windowProperty().addListener(windowListener);
      if (newValue.getWindow() != null) {
        newValue.getWindow().focusedProperty().addListener(l);
        l.invalidated(newValue.getWindow().focusedProperty());
      }
    }
  });
  if (n.getScene() != null) {
    n.getScene().windowProperty().addListener(windowListener);
  }
}

代码示例来源:origin: com.guigarage/ui-basics

public static void registerListenerForStageFullscreen(Node n, InvalidationListener l) {
  ChangeListener<Window> windowListener = (observable, oldValue, newValue) -> {
    if (oldValue != null && oldValue instanceof Stage) {
      ((Stage) oldValue).fullScreenProperty().removeListener(l);
    }
    if (newValue != null && newValue instanceof Stage) {
      ((Stage) newValue).fullScreenProperty().addListener(l);
    }
  };
  n.sceneProperty().addListener((observable, oldValue, newValue) -> {
    if (oldValue != null) {
      oldValue.windowProperty().removeListener(windowListener);
    }
    if (newValue != null) {
      newValue.windowProperty().addListener(windowListener);
      if (newValue.getWindow() != null && newValue.getWindow() instanceof Stage) {
        ((Stage) newValue.getWindow()).fullScreenProperty().addListener(l);
        l.invalidated(((Stage) newValue.getWindow()).fullScreenProperty());
      }
    }
  });
  if (n.getScene() != null) {
    n.getScene().windowProperty().addListener(windowListener);
  }
}

代码示例来源:origin: org.jfxtras/jfxtras-menu

node.sceneProperty().addListener((observable, oldScene, newScene) -> {
  if(oldScene != null) {
    oldScene.getRoot().removeEventHandler(MouseEvent.MOUSE_MOVED, mouseMovedOutsideCircularPaneEventHandler);

相关文章

微信公众号

最新文章

更多

Node类方法