SplitPane中的透明分隔线

时间:2014-12-05 14:32:02

标签: javafx

有没有办法让分割窗格中的分隔线透明?

我尝试过以下方法

.split-pane *.split-pane-divider {
-fx-padding: 0 1 0 1;
}

但它没有用。

另外,如果可能的话,我宁愿从java代码中做到这一点。

splitPane.setStyle(""); 

2 个答案:

答案 0 :(得分:7)

使用CSS:

.split-pane:horizontal > .split-pane-divider {
   -fx-background-color: transparent;
}
.split-pane:vertical > .split-pane-divider {
   -fx-background-color: transparent;
}

通过代码,您需要找到分隔符并将样式应用于它。由于没有API,在显示阶段后,一种简单的方法就是查找:

@Override
public void start(Stage primaryStage) {    
    SplitPane split = new SplitPane();
    ...
    Scene scene = new Scene(split);
    primaryStage.setScene(scene);
    primaryStage.show();

    Node divider = split.lookup(".split-pane-divider");
    if(divider!=null){
        divider.setStyle("-fx-background-color: transparent;");
    }
}

答案 1 :(得分:1)

取决于您实际尝试做什么,

.split-pane-divider {
  -fx-padding: 0 ;
}

可能会奏效。

为什么要让分隔线透明?这使得用户几乎不可能调整窗格部分的大小。