1
我正在Java 8上编写一个JavFX UI,我在其中创建了在构建时计算大小的按钮。JavaFX自动调整Button的字体大小以适应
问题是,按钮的文本(通常只是一个字母在我的情况下)有时太大,不适合按钮,然后按钮只是保持空白。
如何设置JavaFX按钮的字体大小,使文本不会太高而无法显示?
我正在Java 8上编写一个JavFX UI,我在其中创建了在构建时计算大小的按钮。JavaFX自动调整Button的字体大小以适应
问题是,按钮的文本(通常只是一个字母在我的情况下)有时太大,不适合按钮,然后按钮只是保持空白。
如何设置JavaFX按钮的字体大小,使文本不会太高而无法显示?
我找到了解决方案。它可能不是很漂亮,我不知道从哪儿来的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
单位的字体高度,并将其设置作为此按钮的样式。
请注意:如果您使用的是Java 8,那么您也正在为JavaFX 8编程...... – RAnders00
我们需要您的JavaFX代码。我只能假设你正在使用自己计算的绝对大小,在这种情况下,你应该开始使用动态布局。 – RAnders00
@ RAnders00我给该按钮分配了一个静态大小(例如'button.setMinSize(70,70)'。字体大小是用一个CSS文件定义的,例如该按钮的'-fx-font-size:20pt'。工作,但现在我需要添加其他大小的按钮,并自动调整字体。 –