JavaFX:隐藏拆分窗格的滑块/分隔符

JavaFX:隐藏拆分窗格的滑块/分隔符,java,javafx,slider,splitpanel,Java,Javafx,Slider,Splitpanel,我有一个带有SplitPane的JavaFX应用程序。我想隐藏SplitPane的滑块/分隔符。我该怎么做 来自德国的问候(对我的英语很抱歉) JulianSplitPane.Divider不是从节点继承的,因此它没有disableProperty 如果只需要从代码中调整拆分窗格的大小,可以通过CSS将分隔符蒙皮为不可见且大小接近0 否则,在caspian.css中使用嵌套在VBox中的AnchorPane,您将看到 /* horizontal the two nodes are placed

我有一个带有
SplitPane
的JavaFX应用程序。我想隐藏
SplitPane
的滑块/分隔符。我该怎么做

来自德国的问候(对我的英语很抱歉)


Julian

SplitPane.Divider
不是从
节点继承的,因此它没有
disableProperty

如果只需要从代码中调整拆分窗格的大小,可以通过CSS将分隔符蒙皮为不可见且大小接近0


否则,在caspian.css中使用嵌套在
VBox

中的
AnchorPane
,您将看到

/* 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: " ";
}

我希望它能有所帮助。

在Java FX8(modena风格)中有点不同:


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

.split-pane-divider {
   -fx-background-color: transparent;
}

很晚了,但这是如何正确地完成它,而不是使用CSS来解决它:

for (Node node : splitPane.lookupAll(".split-pane-divider")) {
    node.setVisible(false);
}
另一项说明:


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

使用Splitpane以外的窗格/布局。如果需要的话,可以使用嵌套窗格。我想我是这样做的,但在JavaFX8中不起作用。也许我没有使用Caspian(如何检查),css需要有所不同?
-fx padding:1 0 1 0
垂直方向+1我认为使用css是“变通”的。改变美学正是CSS的目的。
for (Node node : splitPane.lookupAll(".split-pane-divider")) {
    node.setVisible(false);
}