使用自定义字体在Java中创建按钮会导致按钮形状异常

时间:2018-11-13 19:45:35

标签: java css button javafx fonts

我一直在尝试使用自定义字体创建javafx按钮。字体在我项目的资源目录中,并通过CSS样式表应用于按钮。问题在于按钮真的很高。一旦我删除了更改字体的css行,按钮就会像平常一样显示。这些按钮本身位于HBox内,该HBox在BorderPane的底部区域中。有谁知道如何解决这个问题?手动更改尺寸没有帮助。

@font-face {
    font-family: 'MODERNA';
    src: url('/fonts/MODERNA_.ttf');
}

.label {
    -fx-font-family: 'MODERNA';
    -fx-font-size: 20;
}

.button .text {
    -fx-font-family: 'MODERNA';
}

.button {
    -fx-background-color: #F5E050;
    -fx-pref-height: 30px;
    -fx-pref-width: 100px;
}

strange, disproportioned buttons with custom font normal looking buttons with standard font

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,并想让遇到相同问题的任何人知道。 @Zephyr距离不远,但是是maxHeight却是minHeight造成了问题。必须在SceneBuilder中将其设置为USE_PREF_SIZE,而不是USE_COMPUTED_SIZE,这似乎是默认值。之后,只需在SceneBuilder的用户界面中更改prefSize即可,一切都很好。问题一定是系统由于某种原因未能自行计算出正确的高度,这可能与字体有关,因为其他字体都没有发生这种情况。