我遇到一个问题,点击时我的JavaFX中的按钮变得略小一些。
here您可以看到"更改密码"单击/选择按钮。
here您可以看到"管理员功能"单击/选择按钮。
我怀疑这与具有焦点的按钮有关,因为当我点击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下方的水平分隔符,这让我可以屏蔽 奇怪的按钮大小改变了。仍然会喜欢有关如何做的答案 这样做得好。
谢谢!
答案 0 :(得分:1)
所以,经过很长一段时间尝试使用诸如分隔符之类的解决方法之后,我发现了它。
默认的FX样式表将此应用于所有按钮:
-fx-background-insets: 0 0 -1 0, 0, 1, 2;
虽然在我的.button:focused
定义中我将它们设置为0,但在我的.button
定义中我没有,所以它从默认CSS中获取了insets值。通过将-fx-background-insets: 0,0,0,0,0;
应用于.button
和.button:hover
,我就能够达到预期的效果。
注意:你可以输入
-fx-background-insets: 0;
我留下完整的值,以防我想在以后更改。