ListView listView = new ListView<>();
//类似 listview.removeBorder或listview.setborder(空边框)?
答案 0 :(得分:1)
嗯,这取决于您在应用程序中使用的主题。
在Modena(默认的JavaFx 8+主题)中,ListView边框和背景被实现为背景层,并且每一层都只是纯色填充:
.list-view {
-fx-background-color: -fx-box-border, -fx-control-inner-background; //this line
-fx-background-insets: 0, 1;
-fx-padding: 1;
}
因此,要删除边框,您需要删除第一个颜色填充(-fx-box-border)并保留第二个颜色填充(-fx-control-inner-background),该颜色颜色常量为#F4F4F4并表示ListView背景颜色):
listView.setBackground(
new Background(new BackgroundFill(Color.valueOf("F4F4F4"), null, null))
);
,您可能要删除用于边框的1px填充:
listView.setPadding(new Insets(0));