带有 'CSS' 的 JavaFX:警告:在解析规则“*.text-input”中的“-fx-highlight-fill”查找时无法解析 'accent_color'
JavaFX with 'CSS' :WARNING: Could not resolve 'accent_color' while resolving lookups for '-fx-highlight-fill' from rule '*.text-input'
为什么会出现此错误?
我的 css 文件来自 https://pixelduke.com/java-javafx-theme-jmetro/
我不太明白如何将它实现到我的 UI 中,因为它在一个 jar 文件中,我必须创建它--> JMetro(JMetro.Style.LIGHT).applyTheme(root);
但是为了让它工作,我做了什么,我创建了一个单独的 css file/s 并复制并粘贴了它的 css file/s。
Error/Warning:
`Nov 26, 2019 6:50:46 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Could not resolve 'accent_color' while resolving lookups for '-fx-highlight-fill' from rule '*.text-input' in stylesheet file:/C:/Users/Rannie%20Austin/JavaBandRehearsalStudioApp/out/production/JavaBandRehearsalStudioApp/style.css
`
我的 css 文件 (style.css)
@import "JMetroBase.css";
.root {
background_color: #252525;
scroll_pane_background_color: background_color;
tab_pane_background_color: #2e2e2e;
}
.background{
-fx-background-color: #252525;
}
.header{
-fx-text-fill: white;
}
.item-title{
-fx-text-fill: white;
-fx-opacity: 0.6;
}
.menu-button,
.choice-box,
.combo-box-base,
.split-menu-button {
arrow_color: white;
}
.list-view, .table-view, .tree-view, .tree-table-view {
cell_hover_color: #515151;
cell_pressed_color: #3e3e3e;
cell_selected_unfocused_color: cell_hover_color;
cell_selected_color: derive(accent_color, -35%);
cell_selected_hover_color: derive(accent_color, -20%);
cell_selected_pressed_color: derive(accent_color, 60%);
}
.label {
text_color: white;
}
.button, .toggle-button {
button_background_color: #333333;
background_pressed_color: #666666;
border_hover_color: #858585;
text_color: white;
default_button_text_color: white;
focus_ring_border_color: white;
}
.button {
border_hover_default_color: derive(accent_color, 70%);
}
.toggle-button {
border_hover_selected_color: derive(accent_color, 70%);
}
.check-box {
text_color: white;
box_background_color: #111;
box_border_color: #cccccc;
box_border_hover_color: white;
indeterminate_mark_color: #cccccc;
indeterminate_box_pressed_color: #111;
focus_ring_color: white;
}
.check-box:indeterminate:hover > .box > .mark {
-fx-background-color: white;
}
.check-box:focused:hover > .box{
-fx-border-color: focus_ring_color, box_border_hover_color;
}
.hyperlink {
hyperlink_hover_color: derive(accent_color, 25%);
hyperlink_pressed_color: derive(accent_color, -15%);
hyperlink_disabled_color: #999999;
}
.hyperlink:disabled {
-fx-opacity: 0.5;
}
.radio-button {
text_color: white;
radio_background_color: #111;
background_pressed_color: #111;
border_color: #cccccc;
border_hover_color: white;
dot_color: #111;
dot_selected_color: #cccccc;
dot_selected_hover_color: white;
focus_ring_color: white;
}
.tooltip {
tooltip_background_color: #2b2b2b;
border_color: #767676;
text_color: white;
}
.tool-bar {
background_color: #252526;
button_hover_color: #444;
button_pressed_color: #333333;
}
.scroll-bar {
thumb_color: #52565a;
thumb_hover_color: #7d8183;
thumb_pressed_color: #a9abad;
track_color: #29292a;
inc_dec_button_color: #2a2d30;
inc_dec_button_hover_color: #3c4145;
inc_dec_button_pressed_color: #a8abac;
arrow_color: white;
arrow_pressed_color: #111;
}
.scroll-pane {
corner_background_color: #29292a;
}
.combo-box-base {
text_color: white;
border_color: #666666;
border_hover_color: #999999;
border_focused_color: white;
border_pressed_color: #666666;
combo_box_background_color: #111;
background_pressed_color: #333333;
combo_box_editable_button_hover_color: #444;
combo_box_editable_focused_button_hover_color: #e6e6e6;
combo_box_editable_focused_background_color: white;
combo_box_editable_focused_arrow_color: #111;
list_cell_color: #2b2b2b;
list_cell_hover_color: #545454;
list_cell_border_color: #767676;
}
.rating {
star_color: #6d6d6d;
}
.rating:disabled{
-fx-opacity: .8;
}
.text-input {
border_color: #666;
border_hover_color: #999;
border_disabled_color: #333;
text_input_background_color: #111;
background_focused_color: #fff;
background_hover_color: #111;
background_disabled_color: #111;
text_color: white;
text_focused_color: #111;
text_disabled_color: #333;
prompt_text_color: #777;
highlight_color: accent_color;
highlighted_text_color: white;
graphic_color: #747474;
}
.menu-button {
menu_button_background_color: #333;
menu_button_text_color: white;
menu_border_hover_color: #858585;
menu_button_pressed_color: #666;
}
.progress-bar {
progress_background_color: #333;
}
.slider {
track_hover_color: #999999;
thumb_hover_color: #f2f2f2;
thumb_pressed_color: #767676;
}
.toggle-switch {
text_color: white;
unselected_color: #111;
unselected_border_color: #cccccc;
thumb_unselected_color: #cccccc;
unselected_hover_color: #111;
unselected_border_hover_color: white;
thumb_unselected_hover_color: white;
selected_color: accent_color;
selected_border_color: accent_color;
thumb_selected_color: white;
/* -- hover */
selected_hover_color: derive(accent_color, -20%);
pressed_color: #999999;
pressed_border_color: pressed_color;
thumb_pressed_color: white;
}
.spinner {
spinner_background_color: #4a4a4a;
arrow_button_hover_color: #3c4145;
arrow_button_pressed_color: #a8abac;
arrow_color: #999;
arrow_pressed_color: #5e6060;
}
.spinner > .text-field {
text_color: white;
}
.date-picker {
graphic_color: white;
graphic_focused_color: #111;
graphic_disabled_color: #333;
text_color: white;
text_focused_color: #111;
text_selected_color: white;
text_hover_color: white;
text_days_from_other_months_color: #7c7c7c;
date_picker_background_color: #111;
background_focused_color: #fff;
background_hover_color: date_picker_background_color;
border_color: #616161;
border_hover_color: #999999;
popup_border_color: #111;
spinner_button_hover_color: #999;
cell_background_color: #111;
day_cell_background_color: #1f1f1f;
day_cell_border_hover_color: #999;
day_cell_background_days_from_other_months_color: #2b2b2b;
today_border_color: derive(accent_color, -60%);
text_field_disabled_background_color: #111;
}
.choice-box {
text_color: white;
border_color: #666666;
border_hover_color: #999999;
border_focused_color: white;
border_pressed_color: #666666;
choice_box_background_color: #111;
background_pressed_color: #333333;
}
.list-view {
text_color: white;
list_view_background_color: #333;
border_color: #171717;
}
.table-view {
table_background_color: #333;
table_view_border_color: #171717;
text_color: white;
hover_text_color: white;
selected_text_color: white;
selected_unfocused_text_color: white;
sort_arrow_color: white;
show_hide_image_color: sort_arrow_color;
}
.check-box-table-cell {
table_check_box_cell_box_background_color: transparent;
table_check_box_cell_box_border_color: white;
table_check_box_cell_mark_color: white;
}
.tree-view {
tree_view_background_color: #333;
text_color: white;
text_selected_color: white;
text_hover_color: text_color;
arrow_color: white;
arrow__hover_color: text_hover_color;
arrow_selected_hover_color: text_selected_color;
}
.tree-table-view {
table_border_color: #171717;
table_background_color: #333;
table_text_color: #fff;
table_text_selected_color: #fff;
table_column_vline_color: #3e3e3e;
/* Color of button that filters columns */
show_hide_image_color: white;
}
.tab-pane {
tab_pane_bottom_border_color: tab_pane_background_color;
tab_text_color: white;
tab_text_hover_color: derive(accent_color, 50%);
tab_text_selected_hover_color: derive(accent_color, 30%);
tab_selected_background_color: #1e1e1e;
tab_selected_border_color: #1e1e1e;
more_button_hover_color: #444;
more_button_pressed_color: #333333;
more_button_icon_color: white;
}
.context-menu {
menu_background_color: #2b2b2b;
context_menu_border_color: #777677;
separator_color: #555555;
}
.menu-bar {
menu_bar_background_color: #111;
text_color: white;
menu_button_hover_color: #404040;
}
.menu-item {
text_color: white;
menu_background_color: #2b2b2b;
graphic_color: #aaaaaa;
hover_color: #404040;
pressed_color: #555555;
}
.titled-pane {
text_color: white;
title_background_color: #1f1f1f;
title_background_hover_color: #4a4a4a;
border_color: #494949;
arrow_color: white;
content_background_color: #111;
}
.progress-indicator {
text_color: white;
}
.separator{
border_color: #777;
}
.split-menu-button {
button_background_color: #333333;
background_pressed_color: #666666;
border_hover_color: #858585;
text_color: white;
focus_ring_border_color: white;
}
.split-pane {
background_color: #333;
border_color: #252525;
}
Pane, AnchorPane, BorderPane, DialogPane, FlowPane, GridPane, HBox, StackPane, TextFlow, TilePane, VBox {
-fx-background-color: background_color;
}
@import
在 JavaFX 中不起作用。您需要单独添加所有样式表或使用导入的样式表作为用户代理样式表。后一种方法需要一个完整的样式表,即在标准 api 中设置所有控件的样式,而不引用通常添加到此样式表中的属性之一。
看看 the source code on Github 的预期用途似乎是简单地设置样式并设置 scene
或 parent
属性。您应该能够通过构造函数执行此操作:
JMetro jMetro = new JMetro(root, Style.LIGHT);
除了此库中包含的样式表之外,您还可以添加自己的样式表:
root.getStylesheets().add(myStyleSheet);
为什么会出现此错误?
我的 css 文件来自 https://pixelduke.com/java-javafx-theme-jmetro/ 我不太明白如何将它实现到我的 UI 中,因为它在一个 jar 文件中,我必须创建它--> JMetro(JMetro.Style.LIGHT).applyTheme(root); 但是为了让它工作,我做了什么,我创建了一个单独的 css file/s 并复制并粘贴了它的 css file/s。
Error/Warning:
`Nov 26, 2019 6:50:46 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Could not resolve 'accent_color' while resolving lookups for '-fx-highlight-fill' from rule '*.text-input' in stylesheet file:/C:/Users/Rannie%20Austin/JavaBandRehearsalStudioApp/out/production/JavaBandRehearsalStudioApp/style.css
`
我的 css 文件 (style.css)
@import "JMetroBase.css";
.root {
background_color: #252525;
scroll_pane_background_color: background_color;
tab_pane_background_color: #2e2e2e;
}
.background{
-fx-background-color: #252525;
}
.header{
-fx-text-fill: white;
}
.item-title{
-fx-text-fill: white;
-fx-opacity: 0.6;
}
.menu-button,
.choice-box,
.combo-box-base,
.split-menu-button {
arrow_color: white;
}
.list-view, .table-view, .tree-view, .tree-table-view {
cell_hover_color: #515151;
cell_pressed_color: #3e3e3e;
cell_selected_unfocused_color: cell_hover_color;
cell_selected_color: derive(accent_color, -35%);
cell_selected_hover_color: derive(accent_color, -20%);
cell_selected_pressed_color: derive(accent_color, 60%);
}
.label {
text_color: white;
}
.button, .toggle-button {
button_background_color: #333333;
background_pressed_color: #666666;
border_hover_color: #858585;
text_color: white;
default_button_text_color: white;
focus_ring_border_color: white;
}
.button {
border_hover_default_color: derive(accent_color, 70%);
}
.toggle-button {
border_hover_selected_color: derive(accent_color, 70%);
}
.check-box {
text_color: white;
box_background_color: #111;
box_border_color: #cccccc;
box_border_hover_color: white;
indeterminate_mark_color: #cccccc;
indeterminate_box_pressed_color: #111;
focus_ring_color: white;
}
.check-box:indeterminate:hover > .box > .mark {
-fx-background-color: white;
}
.check-box:focused:hover > .box{
-fx-border-color: focus_ring_color, box_border_hover_color;
}
.hyperlink {
hyperlink_hover_color: derive(accent_color, 25%);
hyperlink_pressed_color: derive(accent_color, -15%);
hyperlink_disabled_color: #999999;
}
.hyperlink:disabled {
-fx-opacity: 0.5;
}
.radio-button {
text_color: white;
radio_background_color: #111;
background_pressed_color: #111;
border_color: #cccccc;
border_hover_color: white;
dot_color: #111;
dot_selected_color: #cccccc;
dot_selected_hover_color: white;
focus_ring_color: white;
}
.tooltip {
tooltip_background_color: #2b2b2b;
border_color: #767676;
text_color: white;
}
.tool-bar {
background_color: #252526;
button_hover_color: #444;
button_pressed_color: #333333;
}
.scroll-bar {
thumb_color: #52565a;
thumb_hover_color: #7d8183;
thumb_pressed_color: #a9abad;
track_color: #29292a;
inc_dec_button_color: #2a2d30;
inc_dec_button_hover_color: #3c4145;
inc_dec_button_pressed_color: #a8abac;
arrow_color: white;
arrow_pressed_color: #111;
}
.scroll-pane {
corner_background_color: #29292a;
}
.combo-box-base {
text_color: white;
border_color: #666666;
border_hover_color: #999999;
border_focused_color: white;
border_pressed_color: #666666;
combo_box_background_color: #111;
background_pressed_color: #333333;
combo_box_editable_button_hover_color: #444;
combo_box_editable_focused_button_hover_color: #e6e6e6;
combo_box_editable_focused_background_color: white;
combo_box_editable_focused_arrow_color: #111;
list_cell_color: #2b2b2b;
list_cell_hover_color: #545454;
list_cell_border_color: #767676;
}
.rating {
star_color: #6d6d6d;
}
.rating:disabled{
-fx-opacity: .8;
}
.text-input {
border_color: #666;
border_hover_color: #999;
border_disabled_color: #333;
text_input_background_color: #111;
background_focused_color: #fff;
background_hover_color: #111;
background_disabled_color: #111;
text_color: white;
text_focused_color: #111;
text_disabled_color: #333;
prompt_text_color: #777;
highlight_color: accent_color;
highlighted_text_color: white;
graphic_color: #747474;
}
.menu-button {
menu_button_background_color: #333;
menu_button_text_color: white;
menu_border_hover_color: #858585;
menu_button_pressed_color: #666;
}
.progress-bar {
progress_background_color: #333;
}
.slider {
track_hover_color: #999999;
thumb_hover_color: #f2f2f2;
thumb_pressed_color: #767676;
}
.toggle-switch {
text_color: white;
unselected_color: #111;
unselected_border_color: #cccccc;
thumb_unselected_color: #cccccc;
unselected_hover_color: #111;
unselected_border_hover_color: white;
thumb_unselected_hover_color: white;
selected_color: accent_color;
selected_border_color: accent_color;
thumb_selected_color: white;
/* -- hover */
selected_hover_color: derive(accent_color, -20%);
pressed_color: #999999;
pressed_border_color: pressed_color;
thumb_pressed_color: white;
}
.spinner {
spinner_background_color: #4a4a4a;
arrow_button_hover_color: #3c4145;
arrow_button_pressed_color: #a8abac;
arrow_color: #999;
arrow_pressed_color: #5e6060;
}
.spinner > .text-field {
text_color: white;
}
.date-picker {
graphic_color: white;
graphic_focused_color: #111;
graphic_disabled_color: #333;
text_color: white;
text_focused_color: #111;
text_selected_color: white;
text_hover_color: white;
text_days_from_other_months_color: #7c7c7c;
date_picker_background_color: #111;
background_focused_color: #fff;
background_hover_color: date_picker_background_color;
border_color: #616161;
border_hover_color: #999999;
popup_border_color: #111;
spinner_button_hover_color: #999;
cell_background_color: #111;
day_cell_background_color: #1f1f1f;
day_cell_border_hover_color: #999;
day_cell_background_days_from_other_months_color: #2b2b2b;
today_border_color: derive(accent_color, -60%);
text_field_disabled_background_color: #111;
}
.choice-box {
text_color: white;
border_color: #666666;
border_hover_color: #999999;
border_focused_color: white;
border_pressed_color: #666666;
choice_box_background_color: #111;
background_pressed_color: #333333;
}
.list-view {
text_color: white;
list_view_background_color: #333;
border_color: #171717;
}
.table-view {
table_background_color: #333;
table_view_border_color: #171717;
text_color: white;
hover_text_color: white;
selected_text_color: white;
selected_unfocused_text_color: white;
sort_arrow_color: white;
show_hide_image_color: sort_arrow_color;
}
.check-box-table-cell {
table_check_box_cell_box_background_color: transparent;
table_check_box_cell_box_border_color: white;
table_check_box_cell_mark_color: white;
}
.tree-view {
tree_view_background_color: #333;
text_color: white;
text_selected_color: white;
text_hover_color: text_color;
arrow_color: white;
arrow__hover_color: text_hover_color;
arrow_selected_hover_color: text_selected_color;
}
.tree-table-view {
table_border_color: #171717;
table_background_color: #333;
table_text_color: #fff;
table_text_selected_color: #fff;
table_column_vline_color: #3e3e3e;
/* Color of button that filters columns */
show_hide_image_color: white;
}
.tab-pane {
tab_pane_bottom_border_color: tab_pane_background_color;
tab_text_color: white;
tab_text_hover_color: derive(accent_color, 50%);
tab_text_selected_hover_color: derive(accent_color, 30%);
tab_selected_background_color: #1e1e1e;
tab_selected_border_color: #1e1e1e;
more_button_hover_color: #444;
more_button_pressed_color: #333333;
more_button_icon_color: white;
}
.context-menu {
menu_background_color: #2b2b2b;
context_menu_border_color: #777677;
separator_color: #555555;
}
.menu-bar {
menu_bar_background_color: #111;
text_color: white;
menu_button_hover_color: #404040;
}
.menu-item {
text_color: white;
menu_background_color: #2b2b2b;
graphic_color: #aaaaaa;
hover_color: #404040;
pressed_color: #555555;
}
.titled-pane {
text_color: white;
title_background_color: #1f1f1f;
title_background_hover_color: #4a4a4a;
border_color: #494949;
arrow_color: white;
content_background_color: #111;
}
.progress-indicator {
text_color: white;
}
.separator{
border_color: #777;
}
.split-menu-button {
button_background_color: #333333;
background_pressed_color: #666666;
border_hover_color: #858585;
text_color: white;
focus_ring_border_color: white;
}
.split-pane {
background_color: #333;
border_color: #252525;
}
Pane, AnchorPane, BorderPane, DialogPane, FlowPane, GridPane, HBox, StackPane, TextFlow, TilePane, VBox {
-fx-background-color: background_color;
}
@import
在 JavaFX 中不起作用。您需要单独添加所有样式表或使用导入的样式表作为用户代理样式表。后一种方法需要一个完整的样式表,即在标准 api 中设置所有控件的样式,而不引用通常添加到此样式表中的属性之一。
看看 the source code on Github 的预期用途似乎是简单地设置样式并设置 scene
或 parent
属性。您应该能够通过构造函数执行此操作:
JMetro jMetro = new JMetro(root, Style.LIGHT);
除了此库中包含的样式表之外,您还可以添加自己的样式表:
root.getStylesheets().add(myStyleSheet);