как вы css стиль полосы прокрутки в JavaFX? - PullRequest
1 голос
/ 06 февраля 2020

image of GUI

В левом нижнем углу приведенного выше снимка экрана представлен настраиваемый вид списка, в котором я использовал CSS для стиля дорожки, кнопки увеличения и т. Д. c ... и также установить горизонтальную полосу прокрутки и связанные объекты прозрачными, однако у меня остался этот уродливый белый прямоугольник в правом нижнем углу списка между двумя полосами прокрутки, и я не могу найти способ установите его стиль.

Может кто-нибудь показать мне, как установить прозрачность или цвет этого белого поля: # 2c365d

Для ясности, полоса прокрутки является автоматически сгенерированной полосой прокрутки в пределах listview!

Мой текущий CSS файл:

.list-view .list-cell:even {
    -fx-background-color: #2c365d;
    -fx-text-fill: #ffffff;
}

.list-view .list-cell:odd {
    -fx-background-color: #2c365d;
    -fx-text-fill: #ffffff;
}

.list-view .scroll-bar:vertical {
    -fx-background-color:#2c365d;
}

.list-view .increment-button ,.list-view .decrement-button {
    -fx-background-color:transparent;
    -fx-border-color:transparent;
}

.list-view .scroll-bar:vertical .thumb {
    -fx-background-color:#455491;
    -fx-background-insets: 5, 5, 5;
    -fx-background-radius: 5;
}

.list-view .scroll-bar:horizontal {
    -fx-scale-x: 0;
}

1 Ответ

2 голосов
/ 07 февраля 2020

Вы можете стилизовать угол панели прокрутки следующим образом:

.scroll-bar > .corner {    
    -fx-background-color: #2c365d ;
}

Я очень рекомендую Scene Builder и его CSS Analyzer, который отлично подходит для поиска подобных вещей. Используя анализатор CSS, вы можете просмотреть «Стиль пути» и найти класс стилей .corner, как показано на рисунке ниже.

enter image description here

Даже если вы создадите GUI в коде, вы все равно можете использовать Scene Builder, чтобы просто искать подобные вещи и создавать быстрые макеты.

РЕДАКТИРОВАТЬ: Хотя вышеприведенный ответ подходит для Scroll Panes, это не совсем то же самое для ListView, что и хотел опера - мой плохой. ListView имеет настраиваемый путь:

.list-view .virtual-flow .corner

Так что это должно работать для стилизации угла представления списка. .

.virtual-flow > .corner {    
    -fx-background-color: #2c365d ;
}

Я предполагаю, что у вас будет только один из этих ListView, а затем вы можете присвоить ему идентификатор и стилизовать только углы вашего указанного c ListView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...