[英]I can not change the corner color of a ScrollPane in JavaFX
我的css代码看起来像这样但它仍然不起作用。 滚动窗格?
.scroll-pane:corner > .viewport {
-fx-background-color : #191A19;
}
我的语法有问题,还是整个视图端口问题不允许我编辑的任何其他方面
你的css选择器是错的。
.scroll-pane:corner
选择具有类“滚动窗格”的节点,其具有激活的伪类状态“角落”。 根据css文档 ,滚动窗格没有“角落”伪类。
.scroll-pane:corner > .viewport
将选择具有类“viewport”的节点,该节点具有带有“scroll-pane”类的(立即)父节点,并且该父节点具有激活的伪类状态“corner”。 所以,如果有的话,你会在这里选择视口。
你需要的CSS是
.scroll-pane > .corner {
-fx-background-color: #191A19 ;
}
也许看一下关于css选择器的通用教程,比如w3schools的那个
更新完整示例:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.ScrollPane.ScrollBarPolicy;
import javafx.scene.control.TextArea;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class ScrollPaneStyledCorner extends Application {
@Override
public void start(Stage primaryStage) {
BorderPane root = new BorderPane();
ScrollPane scrollPane = new ScrollPane();
scrollPane.setPrefHeight(200);
scrollPane.setPrefWidth(200);
TextArea textArea = new TextArea(System.getProperty("javafx.version"));
scrollPane.setContent(textArea);
scrollPane.setVbarPolicy(ScrollBarPolicy.ALWAYS);
scrollPane.setHbarPolicy(ScrollBarPolicy.ALWAYS);
root.setCenter(scrollPane);
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("scrollPaneCorner.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
scrollPaneCorner.css:
.scroll-pane > .corner {
-fx-background-color: #191A19 ;
}
有用 :
.corner {
-fx-background-color: #363636 ;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.