내가 CSS 파일별도의 CSS 규칙
.split-pane > .split-pane-divider {
-fx-background-insets: 0;
-fx-padding: 0 0 0 0;
-fx-background-color: red;
}
에서 다음 CSS 클래스를 가지고 내가 두 디바이더와 분할 구획이 있고 내가 노드 이러한 분할에 대한 참조가 (!). 나는
Node leftDivider;
Node 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());
}
가 지금은 leftDivider을 표시 wan't하지만 rightDivider을 표시하지 않도록이 방법을 얻을 것을 의미한다. 나는 그래야한다.
leftDivider.setStyle("-fx-padding: 0 5 0 0;");
그러나 왼쪽과 오른쪽의 분배 자 모두를 볼 수있다. 게다가, 내가 제대로 분배기 만보고 싶다면
rightDivider.setStyle("-fx-padding: 0 5 0 0;");
나는 어떤 분배 자도 보이지 않는다.
하나의 splitPane 내에서 구분선을 별도로 제어 할 수 없다고 생각됩니다. 내가 잘못하면 제발, 어떻게 두 개의 분배기 중 하나만 표시 할 수 있습니까?
디바이더에 대한 참조를 얻는 방법에 대해 자세히 설명해 줄 수 있습니까? –
@James_D 코드를 게시했습니다. –
그래, 벌레 같아 ... –