【问题标题】:Java FX buttons slightly smaller when clicked/focus单击/聚焦时,Javafx 按钮略小
【发布时间】:2018-10-29 12:28:48
【问题描述】:

我遇到了一个问题,即我在 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 正下方的水平分隔符,这让我可以屏蔽 奇怪的按钮大小发生变化。仍然想知道如何 正确执行此操作。

谢谢!

【问题讨论】:

  • -fx-animated?你问的是Button 还是JFXButton
  • @fabian 它是来自javafx.scene.control.Button 导入的按钮,我也尝试过-fx-animated: false; 但没有运气

标签: java css button javafx fxml


【解决方案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; 我留下了完整的值,以防我以后想更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 2014-07-22
    相关资源
    最近更新 更多