我尝试使用:
scrollPane.setStyle(".scroll-pane > .viewport { -fx-background-color: red; }");
但它不起作用。我很确定我做这个css的事情是错误的。
答案 0 :(得分:0)
Node的样式不能有选择器,只能有CSS规则。换句话说,setStyle(“ - fx-background-color:red;”)将是有效的(尽管它可能无法实现您正在寻求的效果)。
但是,您可以执行lookup从CSS选择器获取视口。
在实现舞台之前,ScrollPane没有其结构。一旦显示舞台,.viewport
后代就会在那里:
stage.setOnShown(e ->
scrollPane.lookup(".viewport").setStyle("-fx-background-color: red;"));
或者,您可以在单独的样式表中指定原始selcetor和规则:
.scroll-pane > .viewport { -fx-background-color: red; }
然后将其添加到Scene的样式表列表中。:
scene.getStylesheets().add(
getClass().getResource("styles.css").toString());
答案 1 :(得分:-1)
ScrollPane有一个AnchorPane作为他的孩子。你必须设置这个特定的AnchorPane的背景颜色。