如何制作VBox Scrollabe

时间:2015-05-27 18:29:42

标签: java javafx scrollbar vbox

我一直试图让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;
    }
}

1 个答案:

答案 0 :(得分:0)

AlmasB和James_D是对的 - 最简单的方法就是将VBox放入ScrollPane中。如果你这样做是为了好玩,Oracle的ScrollBar教程将指导你如何使VBox可滚动。

http://docs.oracle.com/javafx/2/ui_controls/scrollbar.htm