javafx - BorderPane中心与其他部分重叠

标签 javafx

当我使用 BorderPane 并将布局放在中心部分时,它会覆盖其他部分,如何防止中心部分覆盖 borderPane 中的其他部分 enter image description here

如您所见,表格覆盖了 BorderPane 的右侧部分。 我把 table 放在 Pane 里面。

最佳答案

来自BorderPane文档:

BorderPane does not clip its content by default, so it is possible that childrens' bounds may extend outside its own bounds if a child's min size prevents it from being fit within it space.

为了防止溢出,一些选项是:

  1. 您可以对子节点进行编码,使其没有最小大小。
  2. 您可以确保所有子项的最小尺寸之和至少等于边框 Pane 的最小尺寸。
  3. 您可以显式设置 clip在你的子节点上。有关演示,请参阅:JavaFX Pane Clipping .

    final Rectangle outputClip = new Rectangle();
    childNode.setClip(outputClip);
    
    childNode.layoutBoundsProperty().addListener((ov, oldValue, newValue) -> {
        outputClip.setWidth(newValue.getWidth());
        outputClip.setHeight(newValue.getHeight());
    });    
    
  4. 您在边框 Pane 中设置子节点的顺序决定了哪个节点显示在顶部,因此如果所有节点都是不透明的,您可以先设置中心 Pane ,然后将侧面 Pane 绘制在任何溢出的上方。

关于javafx - BorderPane中心与其他部分重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41565090/

相关文章:

JavaFX 如何在使用自定义单元工厂时正确处理事件?

java - 将 JPanel 添加到 Javafx

css - 如何使用 CSS 设置 Java FX TableView 列标题的样式

java - 我想在执行点击事件时获取GridPane的索引

java - 执行gradle构建的JAR时出现简单的Json ClassNotFoundException

java 1.8.0_192 的 JavaFX 日志记录

java - ObjectInputStream 返回一个空对象

android - Gluon eclipse插件-如何访问android SDK

java.lang.NumberFormatException : For input string ComboBox

java - 如何在 Eclipse 插件中使用正确版本的 JavaFX?