JavaFX 中的 ListView 样式
ListView styling in JavaFX
我有一个列表视图。我想更改背景颜色和文本填充。我已尝试执行以下操作:
playlistView.setStyle("-fx-background-color: blue; -fx-text-fill: black;");
但是,这不起作用。但是,以下是有效的:
playlistView.setStyle("-fx-font-size: 24px; -fx-font-family: 'SketchFlow Print';");
你能告诉我如何让背景和文本填充工作吗?谢谢。
您可以使用以下 CSS 样式:
.list-view .list-cell:even {
-fx-background-color: blue;
-fx-text-fill: black;
}
.list-view .list-cell:odd {
-fx-background-color: blue;
-fx-text-fill: black;
}
- 将此样式的内容保存在
lisStyles.css
.
将 lisStyles.css
样式 sheet 的 URL 添加到场景中:
scene.getStylesheets().add(getClass().getResource("lisStyles.css").toExternalForm());
您正在设置 ListView
的样式,但背景颜色由列表单元格的样式决定。所以样式单元格。如果您更改查找颜色 -fx-control-inner-background
的值,您将保留交替行的 "striping" 和更改的文本颜色,以便它与背景形成对比。使用
.list-cell {
-fx-control-inner-background: blue ;
}
外部样式 sheet。请注意,当背景如此黑暗时,条纹非常微妙(几乎看不见):您可能需要使用
进行调整
.list-cell {
-fx-control-inner-background: blue ;
-fx-control-inner-background-alt: derive(-fx-control-inner-background, 50%);
}
作为快速技巧,您可以直接在列表视图上设置查找到的颜色,它会传播到它包含的单元格:
playlistView.setStyle("-fx-control-inner-background: blue;");
但是,最好(更好地分离代码,并且更健壮)以外部样式在单元格上定义它 sheet。
我有一个列表视图。我想更改背景颜色和文本填充。我已尝试执行以下操作:
playlistView.setStyle("-fx-background-color: blue; -fx-text-fill: black;");
但是,这不起作用。但是,以下是有效的:
playlistView.setStyle("-fx-font-size: 24px; -fx-font-family: 'SketchFlow Print';");
你能告诉我如何让背景和文本填充工作吗?谢谢。
您可以使用以下 CSS 样式:
.list-view .list-cell:even {
-fx-background-color: blue;
-fx-text-fill: black;
}
.list-view .list-cell:odd {
-fx-background-color: blue;
-fx-text-fill: black;
}
- 将此样式的内容保存在
lisStyles.css
. 将
lisStyles.css
样式 sheet 的 URL 添加到场景中:scene.getStylesheets().add(getClass().getResource("lisStyles.css").toExternalForm());
您正在设置 ListView
的样式,但背景颜色由列表单元格的样式决定。所以样式单元格。如果您更改查找颜色 -fx-control-inner-background
的值,您将保留交替行的 "striping" 和更改的文本颜色,以便它与背景形成对比。使用
.list-cell {
-fx-control-inner-background: blue ;
}
外部样式 sheet。请注意,当背景如此黑暗时,条纹非常微妙(几乎看不见):您可能需要使用
进行调整.list-cell {
-fx-control-inner-background: blue ;
-fx-control-inner-background-alt: derive(-fx-control-inner-background, 50%);
}
作为快速技巧,您可以直接在列表视图上设置查找到的颜色,它会传播到它包含的单元格:
playlistView.setStyle("-fx-control-inner-background: blue;");
但是,最好(更好地分离代码,并且更健壮)以外部样式在单元格上定义它 sheet。