Какую кнопку используют DatePicker и ComboBox? - PullRequest
0 голосов
/ 18 февраля 2020

Я пытался найти кнопку, которую используют DatePicker и ComboBox. Я искал через ComboBoxBase, и все другие подобные классы, и не смог найти его. Существует ли публичная c версия этого?

1 Ответ

1 голос
/ 19 февраля 2020

Не существует метода ComboBoxButton class или publi c, который бы создавал такую ​​вещь. Вы можете попытаться воспроизвести то, что сделано в указанных c элементах управления, обратившись к исходному коду.

Внешний вид элементов управления JavaFX определен в их классах скинов; поэтому ComboBoxBaseSkin для ComboBox, с некоторыми поддерживающими классами для всплывающего окна и списка, который отображается внутри всплывающего окна. По большей части класс скина определяет макет и поведение (т. Е. Отклик на пользовательский ввод), а фактический вид (форма стрелки, цвета и т. Д. c) определяется файлом CSS.

Эти кнопки определены довольно нетривиальным образом; для ComboBox сама стрелка определяется как Region, которая находится внутри arrowButton, то есть StackPane. Затем файл CSS определяет форму стрелки и различные цвета и границы в зависимости от того, нажата ли она, выбрана и т. Д. c.

Исходный код для JavaFX доступен через OpenJFX:

В файле CSS я буду искать combo-box (есть пара десятков случаев) и уделять особое внимание классам .arrow-button и .arrow.

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