Javafx ScrollPane无法更改背景

时间:2017-12-20 20:46:41

标签: java javafx

我尝试使用:

scrollPane.setStyle(".scroll-pane > .viewport { -fx-background-color: red; }");

但它不起作用。我很确定我做这个css的事情是错误的。

2 个答案:

答案 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的背景颜色。