簡體   English   中英

JavaFX:隱藏 SplitPane 的滑塊/分隔線

[英]JavaFX: Hide Slider/Divider of the SplitPane

我有一個帶有SplitPane的 JavaFX 應用程序。 我想隱藏SplitPane的 Slider/Divider 。 我怎樣才能做到這一點?

來自德國的問候(對不起我的英語)

朱利安

它在 Java FX8 中有點不同(modena 風格):

.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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM