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添加了许多标签。
答案 0 :(得分:3)
如果你在谈论JavaFX 2.0及其scrollPane,那么Hvalue和Vvalue属性运行良好,但问题是,它们的值是从范围[0.0 .. 1.0]加倍,所以,当你设置int值,它将无法正常工作。
答案 1 :(得分:0)
这可能是您的问题 - 我注意到如果您在执行yourScrollPane.setVvalue()
之前尝试执行yourStage.show()
,则不会滚动。但是,如果在已经显示阶段之后执行sp.setVvalue()
,它将起作用。不确定这是否是ScrollPane中的错误或预期的行为。希望有所帮助。
答案 2 :(得分:0)
在这种情况下,问题肯定是数字40,因为只允许0到1之间的值。然而,由于不同的原因而遇到同样的问题,却偶然发现了这个问题。 发现setHvalue()和setVvalue仅在JFX线程(也称为Platform.runlater)上执行是很重要的。否则,在启动用户驱动的滚动事件之前,位置不会明显更新!