JavaFX8中的ScrollPane默认有个灰色边框,如下图:
不管基于什么想法,我现在想去掉这个灰色边框(注意选中时灰色边框会变成蓝色),以下是去掉ScrollPane边框的3种方式:
1) JavaFX8中带有一个名为edge-to-edge的class,可以直接实现无边框效果
sp.getStyleClass().add("edge-to-edge");
默认的灰色边框和选中时蓝色边框都会消失,效果非常好
这种方法可能有风险,因为不属于API的范畴,不知道Oracle啥时候就改了
2) 自定义CSS去掉边框-方法1
.noborder{ -fx-padding: 0; }
sp.getStyleClass().add("noborder");
默认的灰色边框会消失
但是选中时的蓝色边框不会消失(整体有变浅,但是右边的ScrollBar的颜色和整体颜色不搭,仅仅看整体的颜色也可以接受)
在padding的设置后面再补一个background-insets的设置
.noborder{
-fx-padding: 0;
-fx-background-insets: 0;
}
完美
3) 自定义CSS去掉边框-方法2
.noborder{
-fx-background-color: transparent;
-fx-control-inner-background: transparent;
}
实际上只要第一句background-color就生效了,stackoverflow上说第二句有个什么其他的作用
本文参考了stackoverflow上大神的回复:http://stackoverflow.com/questions/17540137/javafx-scrollpane-border-and-background
------------------
欢迎访问我的独立博客:http://www.alanzeng.cn