所以我们假设我们有一个带有垂直ScrollBar的ScrollPane。
在ScrollPane内部,我们有一个可以垂直扩展的FlowPane。
在FlowPane中,我们有大量的小元素。
现在假设我的舞台窗口大小为500x500,滚动窗格上的ScrollBar位于0.5左右。
如果我展开舞台窗口并使其全屏显示,FlowPane尺寸也将扩展并且它将具有更多可用宽度,因此它的高度将会减少,因为它内部的元素将更多能够装入一排,因此流程窗口的行数会减少。
这将导致滚动条跳转到大约0.9(非常粗略)的位置
我不喜欢这种行为,我需要滚动条保持在0.5位置。
这可能吗?
答案 0 :(得分:0)
可以通过将ListChangeListener附加到FlowPane的子项来实现。像这样:
FlowPane flowPane=new FlowPane();
ScrollPane scrollPane=new ScrollPane(flowPane);
flowPane.getChildren().addListener(new ListChangeListener<Node>()
{
@Override
public void onChanged(Change<? extends Node> c)
{
scrollPane.setHvalue(0.5); //sets the horizontal scroll
scrollPane.setVvalue(0.5); //sets the vertical scroll
}
});