java - 单击/聚焦时,Java FX 按钮略小
问题描述
我有一个问题,我的 JavaFX 中的按钮在单击时会变小。
在这里您可以看到“更改密码”按钮被单击/选中。
在这里你可以看到“管理功能”按钮被点击/选择。
我怀疑这与具有焦点的按钮有关,因为当我单击 chrome 或其他正在运行的应用程序时,它会恢复为所需的外观
按钮当前位于 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 下方放置了一个水平分隔符,这让我可以掩盖奇怪的按钮大小变化。仍然希望得到有关如何正确执行此操作的答案。
谢谢!
解决方案
因此,经过长时间尝试使用分隔符等变通方法后,我想通了。
默认的 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;
i left the full values 以防我想在以后更改。
推荐阅读
- git - Git CHECKOUT 仅通过装订线指示器工作(在 VSC 上)
- python - Python:Json.Load 额外数据
- r - 从通过散点图拟合的回归线中排除异常值,而不从图中删除异常值
- html - CSS 网格消耗额外空间
- node.js - 有没有什么方法可以在我们自己的应用程序中签署文件而无需访问 DocuSign 网站?
- memory-leaks - 在 GPU 上使用 onnxruntime 时的内存泄漏(CPU 的 RAM)
- javascript - 如何用 sinon 存根模块?
- kotlin - 我的应用程序运行良好,但编译器在 navArgs() 下显示红线,同时在 Kotlin 中将信息从一个 Fragment 传递到另一个 Fragment
- typescript - 是否可以为不同版本的 TypeScript 使用不同的声明文件?
- powershell - 获取安装了 Group Managed Service Account 的服务器列表