2017-01-10 52 views
1

当我使用BorderPane和中心部分提出的布局,它涵盖其他地区,我怎么能防止覆盖其他份的正borderPane enter image description hereBorderPane中心重叠的其他部分

的中心部分,你看到的,表格覆盖了BorderPane的右侧部分。 我把表格放在窗格中。

+0

小心与我们分享场景图的整体结构?是否应用了转换?根据场景大小是否设置了不允许场景适当布置的最小尺寸? – fabian

回答

3

BorderPane文档:

BorderPane不夹在默认情况下它的内容,所以它可能是儿童边界可能它自己的边界之外扩展,如果一个孩子的最小尺寸防止其内它适合空间。

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

  1. ,使其不具有最小尺寸你可以编写你的子节点。
  2. 您可以确保所有孩子的最小大小总和至少等于边框窗格的最小大小。
  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. 您设置的子节点到边界窗格确定显示在上面,因此,如果所有节点是不透明的,你可以设置中央窗格中第一和两侧窗格将涂过任何溢出的顺序。

+0

1-您可以编写您的子节点,以便它没有最小尺寸。 它的工作原理,谢谢:) – Maysara