我的CSS代碼看起來像這樣,但它仍然不起作用。滾動窗格?我無法在JavaFX中更改ScrollPane的角色顏色
.scroll-pane:corner > .viewport {
-fx-background-color : #191A19;
}
是否與我的語法有問題或做整個視口的問題沒有讓我編輯的
我的CSS代碼看起來像這樣,但它仍然不起作用。滾動窗格?我無法在JavaFX中更改ScrollPane的角色顏色
.scroll-pane:corner > .viewport {
-fx-background-color : #191A19;
}
是否與我的語法有問題或做整個視口的問題沒有讓我編輯的
你的CSS選擇是錯誤的任何其他方面。
.scroll-pane:corner
選擇激活僞類狀態「corner」的類爲「scroll-pane」的節點。根據css documentation,滾動窗格沒有「角」僞類。
.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 ;
}
它的工作原理:
.corner {
-fx-background-color: #363636 ;
}
這將是情況下,如果我沒有java的8但因爲我曾提升JRE到這一點,你在上面所示的代碼不按照上個月發佈的[this](https://community.oracle.com/thread/3538169)發佈的內容工作 – user3211415
此示例在Java 1.8.0_144版本中正常工作。 – trashgod