带有 '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 的预期用途似乎是简单地设置样式并设置 sceneparent 属性。您应该能够通过构造函数执行此操作:

JMetro jMetro = new JMetro(root, Style.LIGHT);

除了此库中包含的样式表之外,您还可以添加自己的样式表:

root.getStylesheets().add(myStyleSheet);