如何在ScrollPane中访问ScrollBar? (JavaFX的)

我想访问ScrollPane中的ScrollBar来查找值并执行一些操作,例如点击增量和其他一些操作。 我找不到任何访问水平和垂直滚动条的方法。 我尝试过这个链接的解决方案,但我没有成功:

如何访问ScrollPane的Scrollbars

您的问题是,只有将ScrollPane添加到舞台后,链接中的解决方案才有效。

尝试这个:

ScrollPane scrollPane = new ScrollPane(); primaryStage.setScene(new Scene(scrollPane, 300, 250)); primaryStage.show(); System.out.println("Lookup:"); Set nodes = scrollPane.lookupAll(".scroll-bar"); for( Node node: nodes) { System.out.println( node); } System.out.println("\nChild Iterator:"); for( Node node: scrollPane.getChildrenUnmodifiable()) { System.out.println(node); } 

它应该给你这个:

 Lookup: ScrollBar@8e5ebc5[styleClass=scroll-bar] ScrollBar@60e1e624[styleClass=scroll-bar] Child Iterator: ScrollPaneSkin$3@9a6ff7c[styleClass=viewport] ScrollBar@8e5ebc5[styleClass=scroll-bar] ScrollBar@60e1e624[styleClass=scroll-bar] StackPane@697c10e[styleClass=corner] 

换句话说:你可以使用lookupAll方法,我仍然不知道它是否能够完全存在JavaFX。 或者您可以遍历子项并使用instanceof运算符来查找所需内容。