我无法在JavaFX中更改滚动窗格的角颜色
我的css代码看起来像这样,但仍然不起作用。滚动窗格我无法在JavaFX中更改滚动窗格的角颜色,java,css,javafx,java-8,Java,Css,Javafx,Java 8,我的css代码看起来像这样,但仍然不起作用。滚动窗格 .scroll-pane:corner > .viewport { -fx-background-color : #191A19; } 我的语法有问题吗?或者整个视图端口问题不允许我编辑css选择器的任何其他方面 .scroll-pane:corner 选择类为“滚动窗格”且伪类状态为“角点”激活的节点。根据,滚动窗格没有“角”伪类 .scroll-pane:corner > .viewport 将选择具有类“viewp
.scroll-pane:corner > .viewport {
-fx-background-color : #191A19;
}
我的语法有问题吗?或者整个视图端口问题不允许我编辑css选择器的任何其他方面
.scroll-pane:corner
选择类为“滚动窗格”且伪类状态为“角点”激活的节点。根据,滚动窗格没有“角”伪类
.scroll-pane:corner > .viewport
将选择具有类“viewport”的节点,该类具有类“scroll pane”的(直接)父节点,并且该父节点具有激活的伪类状态“corner”。因此,如果有的话,您可以在这里选择视口
你需要的css是
.scroll-pane > .corner {
-fx-background-color: #191A19 ;
}
也许可以看看关于css选择器的通用教程,比如
更新完整示例:
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 ;
}
如果我没有java 8,就会出现这种情况,但由于我已将jre升级到该版本,您上面显示的代码无法像上个月发布的帖子中所述那样工作。该示例在java 1.8.0144版本中正常工作。