我一直试图让VBox可滚动,但似乎没有任何效果。有谁可以帮助并告诉我我可能做错了什么?提前谢谢大家。
这就是我所拥有的,但我似乎无法使其发挥作用:
@Component
@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
public class Scroller {
final ScrollBar sc = new ScrollBar();
DropShadow shadow = new DropShadow();
public Group scrollableGroup(VBox Container) {
Group root = new Group();
root.getChildren().addAll(Container, sc);
shadow.setColor(Color.GREY);
shadow.setOffsetX(2);
shadow.setOffsetY(2);
sc.setLayoutX(500 + sc.getWidth() + 10);
sc.setMin(0);
sc.setOrientation(Orientation.VERTICAL);
sc.setPrefHeight(500);
sc.setMax(500 * 2);
sc.valueProperty().addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
Container.setLayoutY(-new_val.doubleValue());
}
});
return root;
}
}
答案 0 :(得分:0)
AlmasB和James_D是对的 - 最简单的方法就是将VBox放入ScrollPane中。如果你这样做是为了好玩,Oracle的ScrollBar教程将指导你如何使VBox可滚动。