我有一个带有SplitPane
. 我想隐藏SplitPane
. 我怎样才能做到这一点?
来自德国的问候(对不起我的英语)
朱利安
Java FX8(摩德纳风格)有点不同:
.split-pane *.split-pane-divider {
-fx-padding: 0 1 0 1;
}
在 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: " ";
}
我希望它有所帮助。
这些其他答案仍然留下一个灰色的细条,所以在我的 CSS 中我添加了:
.split-pane-divider {
-fx-background-color: transparent;
}
另一个注意事项:
分隔线出现在拆分窗格的项目列表中的子项之间。如果您的拆分窗格中只有一个项目,您将看不到分隔线。如果您的拆分窗格有 3 个项目,您将看到 2 个分隔符。如果您需要摆脱分隔线,您可能根本不需要拆分窗格中的项目。因此,只需暂时从拆分窗格的项目列表中删除该项目。
迟到了,但这是如何正确地做到这一点,而不是使用 CSS 解决它:
for (Node node : splitPane.lookupAll(".split-pane-divider")) {
node.setVisible(false);
}
SplitPane.Divider
不继承自Node
,因此它没有disableProperty
.
如果您需要仅从代码中调整拆分窗格的大小,则可以通过 CSS 将分隔线设置为不可见且大小接近 0。
否则使用AnchorPane
' 嵌套到VBox