Кнопки Java FX немного меньше при нажатии / фокус - PullRequest
0 голосов
/ 19 мая 2018

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

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

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

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

кнопки в настоящее время находятся в 4x1 GridPane, с 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;
}

Редактировать:Я нашел временное «решение», больше обходного пути: я поместил горизонтальный разделитель чуть ниже моего HBox, и это позволило мне замаскировать странные изменения размера кнопки.все равно хотели бы ответы о том, как это сделать правильно.

Спасибо!

1 Ответ

0 голосов
/ 20 мая 2018

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

Таблица стилей 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, я смог достичь желаемого результата.

Примечание: вы можете просто набрать -fx-background-insets: 0; i, оставив все значения в случае, если яхочу изменить на более поздний срок.

...