0

Method sp.setVvalue(app.spvalue.intValue());不会将 vbox 滚动到所需位置。

            mvPane = new VBox();
            mvPane.setStyle("-fx-background-color: #fff;");
            GetPlayList(app,root);

            sp = new ScrollPane();
            sp.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
            sp.setContent(mvPane);
            sp.setVvalue(40);
            setCenter(sp);
            sp.getVvalue();

函数 GetPlayList 添加了许多标签。

4

3 回答 3

3

如果您在谈论 JavaFX 2.0 及其 scrollPane,那么 Hvalue 和 Vvalue 属性运行良好,但是看起来它们的值是 [0.0 .. 1.0] 范围内的两倍,因此,当您设置 int 值时,它不能正常工作。

于 2013-01-05T22:56:32.403 回答
0

这可能是你的问题——我注意到如果你在做yourScrollPane.setVvalue()之前尝试做yourStage.show(),它不会滚动。但是,如果在舞台已经显示sp.setVvalue()执行,它将起作用。不确定这是 ScrollPane 中的错误还是预期行为。希望有帮助。

于 2013-10-15T20:28:59.260 回答
0

在这种情况下,问题肯定是数字 40,因为只允许 0 和 1 之间的值。然而,由于不同的原因遇到同样的问题时偶然发现了这个问题。发现 setHvalue() 和 setVvalue 仅在 JFX 线程(又名 Platform.runlater)上执行很重要。否则,在用户驱动的滚动事件启动之前,位置不会明显更新!

于 2018-01-20T18:00:40.400 回答