我有一个SplitPane
的JavaFX应用程序。我想隐藏SplitPane
的滑块/分隔符。我怎么能这样做?
来自德国的问候(对不起我的英语)
儒略
答案 0 :(得分:12)
它与Java FX8(摩德纳风格)略有不同:
.split-pane *.split-pane-divider {
-fx-padding: 0 1 0 1;
}
答案 1 :(得分:7)
在caspian.css中,您将看到
/* horizontal the two nodes are placed to the left/right of each other. */
.split-pane:horizontal > * > .split-pane-divider {
-fx-border-color: transparent -fx-box-border transparent #BBBBBB;
-fx-background-color: transparent, -fx-inner-border-horizontal;
-fx-background-insets: 0, 0 1 0 1;
}
/* vertical the two nodes are placed on top of each other. */
.split-pane:vertical > * > .split-pane-divider {
-fx-border-color: #BBBBBB transparent -fx-box-border transparent;
-fx-background-color: transparent, -fx-inner-border;
-fx-background-insets: 0, 1 0 1 0;
}
我使用的是垂直的,所以我在我的CSS中覆盖了垂直的那个:
.split-pane:vertical > * > .split-pane-divider {
-fx-border-color: transparent;
-fx-background-color: transparent;
-fx-background-insets: 0;
}
它有效。如果你也想隐藏抓取器(例如我没有隐藏它,看起来很好),我认为以下规则可能会起到作用:
.split-pane *.vertical-grabber {
-fx-padding: 0;
-fx-background-color: transparent;
-fx-background-insets: 0;
-fx-shape: " ";
}
我希望它有所帮助。
答案 2 :(得分:3)
这些其他答案仍然留下一个薄的灰色条,所以在我的CSS中我添加了:
.split-pane-divider {
-fx-background-color: transparent;
}
答案 3 :(得分:0)
最近,但这是如何正确地执行它而不是使用CSS解决它:
for (Node node : splitPane.lookupAll(".split-pane-divider")) {
node.setVisible(false);
}
答案 4 :(得分:0)
另一个说明:
分隔符显示在“拆分窗格”的项目列表中的子项之间。如果拆分窗格中仅包含一项,则不会显示分隔线。如果您的拆分窗格有3个项目,则会显示2个分隔线。如果不需要分隔线,则可能不需要拆分窗格中的所有项。
答案 5 :(得分:-1)
SplitPane.Divider
不会从Node
继承,因此它没有disableProperty
。
如果你需要从代码中调整大小的分割窗格,你可以通过CSS为分割器设置外观,使其不可见且大小接近0.
否则请将AnchorPane
嵌套到VBox