一種可能性是在CSS文件中定義一個新的風格類:
.split-pane > .split-pane-divider {
-fx-padding: 0 0 0 1;
-fx-background-color: green;
}
.modified-split-pane > .split-pane-divider {
-fx-padding: 1 1 1 1;
-fx-background-color: red;
}
然後根據需要修改的一個或原來代碼中的添加/刪除此樣式類:
// Modified style
splitPane.getStyleClass().add("modified-split-pane");
// Original style
splitPane.getStyleClass().remove("modified-split-pane")
您還可以使用PseudoClass
API:
.split-pane > .split-pane-divider {
-fx-padding: 0 0 0 1;
-fx-background-color: green;
}
.split-pane:version1 > .split-pane-divider {
-fx-padding: 1 1 1 1;
-fx-background-color: red;
}
然後在代碼的主動/停用此僞類:
PseudoClass version1Pseudo = PseudoClass.getPseudoClass("version1");
splitPane.pseudoClassStateChanged(version1Pseudo, true);
splitPane.pseudoClassStateChanged(version1Pseudo, false);
還有一個方法可行設置由從現場得到的分頻器Node
S IN運行時的樣式屬性直接在代碼-graph使用Node#lookupAll
(或lookup
)方法,但我強烈建議避免這種方法。
for (Node node: splitPane.lookupAll(".split-pane-divider"))
node.setStyle("-fx-background-color: red; -fx-padding: 1 1 1 1;");