我正在Java 8上编写JavFX UI,在其中创建具有在构造时计算出的大小的Button。

问题在于按钮的文本(在我的情况下,通常仅为单个字母)有时太大而无法容纳在按钮中,然后按钮保持空白。

如何设置JavaFX Button的字体大小,以使文本不会太大而无法显示?

最佳答案

我找到了解决方案。它可能不是很漂亮,我也不知道0.45的来源(通过尝试找到了它),但是它似乎对我有用:

int buttonSize = 70;
Button button = new Button("A");
button.setMinSize(buttonSize, buttonSize);
button.setPrefSize(buttonSize, buttonSize);
button.setMaxSize(buttonSize, buttonSize);

button.setStyle(String.format("-fx-font-size: %dpx;", (int)(0.45 * buttonSize)));

最后一行以px单位计算字体高度,并将其设置为此按钮的样式。

10-04 12:26