我的 css 代码看起来像这样,但它仍然不起作用。滚动面板?
.scroll-pane:corner > .viewport {
-fx-background-color : #191A19;
}
我的语法有问题还是整个视口(viewport)问题不允许我编辑任何其他方面
最佳答案
你的 CSS 选择器是错误的。
.scroll-pane:corner
选择具有类“滚动 Pane ”的节点,这些节点具有激活的伪类状态“Angular ”。根据css documentation ,滚动 Pane 没有“Angular ”伪类。
.scroll-pane:corner > .viewport
将选择一个具有类“viewport”的节点,该节点具有一个具有类“scroll-pane”的(直接)父节点,并且该父节点具有激活的伪类状态“corner”。所以,如果有的话,你会在这里选择视口(viewport)。
你需要的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 ;
}
关于java - 我无法在 JavaFX 中更改 ScrollPane 的 Angular 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23278267/