12

私はJavaFXアプリケーションを持っていSplitPaneます. の Slider/Divider を非表示にしたいSplitPane。これどうやってするの?

ドイツからのご挨拶(英語で申し訳ありません)

ジュリアン

4

6 に答える 6

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 に答える
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 に近づけることができます。

それ以外の場合は、 useAnchorPaneがネストされてVBox

于 2012-09-27T07:44:25.193 に答える