当前位置:  开发笔记 > 编程语言 > 正文

BorderPane中心与其他部分重叠

如何解决《BorderPane中心与其他部分重叠》经验,为你挑选了1个好方法。

当我使用BorderPane并将布局放在中心部分时,它覆盖了其他部分,如何防止边框覆盖中心部分

如您所见,该表覆盖了BorderPane的右侧。我把桌子放在窗格内。



1> jewelsea..:

从BorderPane文档中:

BorderPane默认情况下不会裁剪其内容,因此,如果孩子的最小尺寸使其无法适应其空间,则孩子的边界可能会超出其自身的边界。

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

    您可以对子节点进行编码,使其没有最小大小。

    您可以确保所有子项的最小尺寸总和至少等于边框窗格的最小尺寸。

    您可以在子节点上显式设置剪辑。有关演示,请参阅: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());
    });    
    

    您将子节点设置到边框窗格中的顺序决定了哪个显示在顶部,因此,如果所有节点都是不透明的,则可以先设置中间窗格,并且将在任何溢出上绘制侧面窗格。

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有