私はcssファイル別々のCSSルール
.split-pane > .split-pane-divider {
-fx-background-insets: 0;
-fx-padding: 0 0 0 0;
-fx-background-color: red;
}
で以下のCSSクラスを持っていると私は2つの分周器とのスプリットペインを持っていると私はノードとしてこれらの分周器への参照を持っています(!)。私は今、私はleftDividerを表示するためにwan'tが、rightDividerを表示しないように
List<Node> nodes=getDividerNodes(splitPane);
leftDivider=nodes.get(0);
rightDivider=nodes.get(1);
...
public static List<Node> getDividerNodes(SplitPane splitPane){
Map<Double,Node> sortedMap=new TreeMap<>();
if (splitPane.getOrientation()==Orientation.HORIZONTAL){
splitPane.lookupAll(".split-pane-divider").stream().forEach(div -> {
if (div.getParent()==splitPane){
sortedMap.put(div.getLayoutX(), div);
}
});
}else{
splitPane.lookupAll(".split-pane-divider").stream().forEach(div -> {
if (div.getParent()==splitPane){
sortedMap.put(div.getLayoutY(), div);
}
});
}
return new ArrayList<>(sortedMap.values());
}
このようにそれらへの参照を取得
Node leftDivider;
Node rightDivider;
を意味します。私は
leftDivider.setStyle("-fx-padding: 0 5 0 0;");
しかし、私は左右両方の仕切りを見る。また、分周器だけを見たい場合は
rightDivider.setStyle("-fx-padding: 0 5 0 0;");
分周器は表示されません。
1つのスプリットペイン内の分周器を個別に制御が可能でないように私には思えます。私が間違っている場合は、どうすれば2つのディバイダのうち1つだけを表示することができますか?
仕切りへの参照をどのように取得しているかを詳しく説明できますか? –
@James_D私はコードを投稿しました。 –
ええ、それはバグのように見えます... –