私はJavaFXアプリケーションを持っていSplitPane
ます. の Slider/Divider を非表示にしたいSplitPane
。これどうやってするの?
ドイツからのご挨拶(英語で申し訳ありません)
ジュリアン
私はJavaFXアプリケーションを持っていSplitPane
ます. の Slider/Divider を非表示にしたいSplitPane
。これどうやってするの?
ドイツからのご挨拶(英語で申し訳ありません)
ジュリアン
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;
}
遅くなりましたが、これは CSS を使用して回避するのではなく、正しく行う方法です。
for (Node node : splitPane.lookupAll(".split-pane-divider")) {
node.setVisible(false);
}
SplitPane.Divider
は から継承しないためNode
、 はありませんdisableProperty
。
分割ペインのサイズをコードから変更する必要がある場合は、CSS を介して仕切りを非表示にし、サイズを 0 に近づけることができます。
それ以外の場合は、 useAnchorPane
がネストされてVBox