我正在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
单位计算字体高度,并将其设置为此按钮的样式。