Как убрать синюю рамку фокуса из TableView?

Я стилизую TableView. Я установил цвет границы на белый (такой же, как цвет фона), чтобы он был невидимым. Однако, когда таблица находится в фокусе, граница становится синей. Я попытался добавить table-view:focused { -fx-border-color: white; }, чтобы исправить это, но это не помогло. Как я могу это исправить?

Я не добавил скриншот, потому что когда я нажимаю Print Screen, таблица теряет фокус.

Ниже приведена моя полная таблица стилей, если она уместна:

.table-view .column-header,
.table-view .column-header .filler,
.table-view .column-header-background .filler {
    -fx-background-color: white;
    -fx-border-width: 0;
}

.table-view .column-header {
    -fx-font-size: 16px;
    -fx-border-width: 0 0 1 0;
    -fx-border-color: #efefef;
}

.table-view .column-header .label {
    -fx-alignment: center_left;
    -fx-font-size: 16pt;
    -fx-padding: 5 0 15 0;
}

.table-row-cell,
.table-row-cell:odd {
    -fx-background-color: white;
}

.table-row-cell:hover {
    -fx-background-color: #efefef;
}

.table-row-cell:selected {
    -fx-background-color: white;
    -fx-text-fill: black;
}

.table-view .table-cell {
    -fx-border-color: efefef;
    -fx-border-width: 1 0 0 0;
    -fx-font-size: 14px;
    -fx-padding: 5 3 15 3;
}

.table-view {
    -fx-border-color: white;
}

.table-view:focused .table-cell {
    -fx-text-fill: black;
}

person Allan Juan    schedule 02.08.2020    source источник
comment
попробуйте table-view:focus вместо table-view:focused   -  person to-b    schedule 02.08.2020
comment
table-view:focus не работает. -fx-focus-color: transparent сделал что-то странное - граница фокуса становится немного тоньше, но остается на месте. Я предполагаю, что есть еще один элемент, который добавляется к границе, помимо focus-color?   -  person Allan Juan    schedule 02.08.2020
comment
почему вы хотите запутать своих пользователей?   -  person kleopatra    schedule 02.08.2020
comment
Я проверил это сейчас, и вы правы @Allen Juan. Вы также можете добавить -fx-faint-focus-color: transparent;. Требуется некоторое время, чтобы привыкнуть к modena.css по умолчанию;)   -  person anko    schedule 02.08.2020


Ответы (1)


синяя рамка, добавленная к вашей таблице, должна быть удалена, если вы используете свойство структуры css и устанавливаете для него значение none. Итак, здесь установите схему: нет для вашей таблицы, когда она сфокусирована.

.table-view:focus {
    outline: none;
}
person Khushboo    schedule 02.08.2020
comment
Это делает контур очень тонким, но все же присутствует. В любом случае, спасибо за ваш ответ. - person Allan Juan; 02.08.2020
comment
Можете ли вы предоставить свой код в jsfiddle, хотели бы увидеть, что происходит и почему. - person Khushboo; 02.08.2020