Контекстное меню для текстового поля показывает пункты меню жирным шрифтом
Если я щелкну правой кнопкой мыши на текстовом поле в приложении JavaFX, пункты меню будут выделены жирным шрифтом. Это происходит в некоторых текстовых полях. Например, у нас есть один экран входа в систему, где пункт меню отображается правильно, а на другом экране - жирным шрифтом.
Примечание: я не написал никакого кода для щелчка правой кнопкой мыши по текстовому полю, так как я думаю, что это внутренняя функция, и он отображает обычные вырезать, копировать, вставлять, удалять и выбирать все.
Как избежать отображения контекстного меню жирным шрифтом?
Это происходит только тогда, когда я устанавливаю CSS метки перед текстовым полем как жирный.
.label { -fx-font-weight:bold; }
И последнее, что эти элементы управления генерируются динамически. Это всплывающее окно, содержащее метку, текстовое поле и кнопку.
1 ответ
Установив
.label { -fx-font-weight:bold; }
и загружая этот CSS в сцену, вы переопределяете глобальный CSS-селектор по умолчанию для меток, определенных в caspian.css, и, таким образом, меняете все свойства font-weight на полужирный шрифт всех меток в сцене, а также метку контекстного меню.
Вы должны определить свой собственный селектор CSS и применять его только для желаемых меток:
#my-bold-label {
-fx-font-weight:bold;
}
в коде Java:
Label lbl = new Label("My bold text");
lbl.setId("my-bold-label");