JavaFX 自动调整 Button 的字体大小以适应

Byt*_*der 5 css java javafx font-size

我正在 Java 8 上编写 JavFX UI,在其中创建按钮,其大小在构造时计算。

问题是按钮的文本(在我的例子中通常只是一个字母)有时太大而无法放入按钮,然后按钮就保持空白。

如何设置 JavaFX 按钮的字体大小,以便文本不会太高而无法显示?

Byt*_*der 2

我找到了解决方案。它可能不是很漂亮,我不知道它来自哪里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)));
Run Code Online (Sandbox Code Playgroud)

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