一种可能性是在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;");