[英]Javafx ScrollPane can't change background
我尝试使用:
scrollPane.setStyle(".scroll-pane > .viewport { -fx-background-color: red; }");
但它不起作用。 我很确定我在做这个 css 事情是错误的。
Node 的样式不能有选择器,只有 CSS 规则。 换句话说, setStyle("-fx-background-color: red;") 将是有效的(尽管它可能无法达到您想要的效果)。
但是,您可以进行查找以从 CSS 选择器获取视口。
在实现 Stage 之前,ScrollPane 没有其结构。 .viewport
后代将在舞台显示后出现:
stage.setOnShown(e ->
scrollPane.lookup(".viewport").setStyle("-fx-background-color: red;"));
或者,您可以在单独的样式表中指定原始选择器和规则:
.scroll-pane > .viewport { -fx-background-color: red; }
然后将其添加到场景的样式表列表中:
scene.getStylesheets().add(
getClass().getResource("styles.css").toString());
ScrollPane 有一个 AnchorPane 作为他的孩子。 您必须设置此特定 AnchorPane 的背景颜色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.