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);
}