我想更改 ScrollPane 的背景颜色。这是我尝试这样做的代码的一部分:
val sp=new javafx.scene.control.ScrollPane(new Group(new Text(...)))
sp.setPannable(true)
sp.setStyle("-fx-background-color: blue")
sp.setBackground(new Background(Array(new BackgroundFill(Color.DARKCYAN,new CornerRadii(0),Insets(0)))))
文本显示正常,但更改背景颜色的两次尝试均无效,使用:
Scala 版本 2.10.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_05)。
用Scenic View 查看,发现 ScrollPane 下方的场景图中意外出现了两个 StackPane,所以层次结构是:
- ScrollPane //我创建的
- StackPane //UNEXPECTED -- 剪辑内容
- StackPane //UNEXPECTED -- 全尺寸内容
- 组//我创建的
- 文本//我创建的
如果我将任一 StackPane-s 的背景更改为"-fx-background-color: blue"
(使用Scenic View),它会产生效果,但不会影响 ScrollPane 的样式。但是如何从代码中做到这一点?如果我做
println(sp.content())
, 它说
群@567fa81a
有没有一种简单的方法可以访问 StackPanes 或更改背景?我可以“插入”一个填充的大矩形,但这看起来很丑陋并且调整大小变得复杂,背景有什么问题?