在javafx中防止拆分窗格的一侧调整大小

在javafx中防止拆分窗格的一侧调整大小,java,javafx,splitpane,Java,Javafx,Splitpane,我有一个布局,其中我有一个垂直分割窗格,将两个组件分开。拆分窗格右侧的组件我想放大(这是一幅图像),但拆分窗格左侧的组件我想在放大窗口时保持在与分隔器完全相同的位置 我曾尝试在Vbox中包装左侧锚具,它似乎可以工作,除非调整窗口大小,左侧的所有组件都向下移动。当我将其包装在HBox中时,也会发生这种情况 我想不出最好的办法来解决这个问题。我正在使用scene builder,对Javafx还是相当陌生的。有人能帮忙吗 谢谢大家! 在组件上调用setMinWidth和setMaxWidth,如果组

我有一个布局,其中我有一个垂直分割窗格,将两个组件分开。拆分窗格右侧的组件我想放大(这是一幅图像),但拆分窗格左侧的组件我想在放大窗口时保持在与分隔器完全相同的位置

我曾尝试在Vbox中包装左侧锚具,它似乎可以工作,除非调整窗口大小,左侧的所有组件都向下移动。当我将其包装在HBox中时,也会发生这种情况

我想不出最好的办法来解决这个问题。我正在使用scene builder,对Javafx还是相当陌生的。有人能帮忙吗


谢谢大家!

在组件上调用
setMinWidth
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());

您是否设置了锚烷的MaxWidth和MaxHeight?@Math是的,都设置为使用“计算尺寸”将MaxWidth和MaxHeight设置为定义的像素值,以确保其不会超出该值。