У меня проблема, когда мои кнопки в 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!
@fabian это кнопка из импорта javafx.scene.control.Button, я также пробовал -fx-animated: false;, но там не повезло




Итак, я понял это после долгих попыток использовать обходные пути, такие как разделитель.
Таблица стилей 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.
-fx-animated? ЭтоButtonилиJFXButton, о которых вы спрашиваете?