12

我有一个带有SplitPane. 我想隐藏SplitPane. 我怎样才能做到这一点?

来自德国的问候(对不起我的英语)

朱利安

4

6 回答 6

14

Java FX8(摩德纳风格)有点不同:

.split-pane *.split-pane-divider {
    -fx-padding: 0 1 0 1;
}
于 2014-07-25T15:40:36.297 回答
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: " ";
}

我希望它有所帮助。

于 2013-02-25T15:58:26.627 回答
4

这些其他答案仍然留下一个灰色的细条,所以在我的 CSS 中我添加了:

.split-pane-divider {
   -fx-background-color: transparent;
}
于 2015-10-13T05:35:06.087 回答
1

另一个注意事项:

分隔线出现在拆分窗格的项目列表中的子项之间。如果您的拆分窗格中只有一个项目,您将看不到分隔线。如果您的拆分窗格有 3 个项目,您将看到 2 个分隔符。如果您需要摆脱分隔线,您可能根本不需要拆分窗格中的项目。因此,只需暂时从拆分窗格的项目列表中删除该项目。

于 2019-04-16T21:42:46.650 回答
0

迟到了,但这是如何正确地做到这一点,而不是使用 CSS 解决它:

for (Node node : splitPane.lookupAll(".split-pane-divider")) {
    node.setVisible(false);
}
于 2018-05-27T15:24:47.000 回答
-1

SplitPane.Divider不继承自Node,因此它没有disableProperty.

如果您需要仅从代码中调整拆分窗格的大小,则可以通过 CSS 将分隔线设置为不可见且大小接近 0。

否则使用AnchorPane' 嵌套到VBox

于 2012-09-27T07:44:25.193 回答