我有一个布局,其中有一个垂直拆分窗格,它划分了两个组件。我想要增长的拆分窗格右侧的组件(它是一个图像),但是拆分窗格左侧的组件我想保持在完全相同的位置,当窗口时分隔器在完全相同的位置被放大。
我试图将左侧 AnchorPane 包装在 Vbox 中,它似乎可以工作,除非调整窗口大小时左侧的所有组件都向下移动。当我将它包装在 HBox 中时也会发生这种情况。
我想不出解决这个问题的最佳方法。我正在使用场景构建器,但我对 Javafx 还是很陌生。任何人都可以帮忙吗?
谢谢!
在不能以相同的固定值增长的组件上调用setMinWidth
and将阻止用户更改分隔线位置。setMaxWidth
因此,例如,假设您希望100
左侧组件的最大尺寸为 ,代码可以是:
SplitPane pane = new SplitPane();
double leftComponentSize = 100.0;
VBox leftComponent = new VBox();
// Set the min and max width to a fixed size
leftComponent.setMinWidth(leftComponentSize);
leftComponent.setMaxWidth(leftComponentSize);
...
pane.getItems().addAll(leftComponent, rightComponent);
// Initialize the divider positions to allocate the expected size
// to the left component according to the size of the window
pane.setDividerPositions(leftComponentSize / stage.getScene().getWidth());