Кнопки Java FX немного меньше при нажатии / фокусе

У меня проблема, когда мои кнопки в JavaFX становятся немного меньше при нажатии.

здесь видно, что кнопка "изменить пароль" нажата / выбрана.

здесь вы можете видеть, что кнопка "функции администратора" нажата / выбрана.

Я подозревал, что это как-то связано с кнопками, имеющими фокус, так как когда я нажимаю хром или другое приложение с этим запущенным, оно возвращается к желаемому смотрю

кнопки в настоящее время находятся внутри GridPane 4x1, причем 0-й слот занят меткой.

вот мой CSS, если это поможет:

.button{
-fx-border-color: null;
-fx-border-width: 0;
-fx-background-color: #2c3cff;
-fx-fill: true;
-fx-pref-height: 100;
-fx-pref-width: 320;
-fx-text-fill: #b9b9b9;
-fx-border-radius: 0;
-fx-min-width: 320;
-fx-min-height: 100;
-fx-background-radius: 0;
-fx-animated: false;

}


.grid{
    -fx-background-color:#3e3e48;
}

.label{
    -fx-text-fill: #b9b9b9;
}

Edit: I have found a temporary "solution", more of a workaround: I put a horizontal separator just below my HBox and this allowed me to mask the weird button size changes. would still like answers about how to do this properly.

Thanks!

-fx-animated? Это Button или JFXButton, о которых вы спрашиваете?
fabian 19.05.2018 08:41

@fabian это кнопка из импорта javafx.scene.control.Button, я также пробовал -fx-animated: false;, но там не повезло

HamishD 19.05.2018 09:36
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
938
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, я понял это после долгих попыток использовать обходные пути, такие как разделитель.

Таблица стилей FX по умолчанию применила это ко всем кнопкам:

    -fx-background-insets: 0 0 -1 0, 0, 1, 2;

и хотя в моем определении .button:focused я установил для них значение 0, в моем определении .button я этого не делал, поэтому он взял значение вставок из CSS по умолчанию. Применяя -fx-background-insets: 0,0,0,0,0; как к .button, так и к .button:hover, я смог добиться желаемого результата.

Note: you can just type -fx-background-insets: 0; i left the full values in in case i want to change at a later date.

Другие вопросы по теме