【问题标题】:JavaFX automatically resize Button's font size to fit inJavaFX 自动调整 Button 的字体大小以适应
【发布时间】:2016-04-21 02:28:40
【问题描述】:

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

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

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

【问题讨论】:

  • 请注意:如果您使用的是 Java 8,那么您也在为 JavaFX 8 编程......
  • 我们需要您的 JavaFX 代码。我只能假设您使用的是您自己计算的绝对尺寸,在这种情况下您应该开始使用动态布局。
  • @RAnders00 我为按钮分配了一个静态大小(例如button.setMinSize(70, 70)。字体大小是使用一个CSS文件定义的,例如-fx-font-size: 20pt为那个按钮。这有效,但现在我需要添加其他大小的按钮并自动调整字体。

标签: java css javafx font-size


【解决方案1】:

我找到了解决方案。它可能不是很漂亮,我不知道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 为单位计算字体高度并将其设置为此按钮的样式。

【讨论】:

    猜你喜欢
    • 2011-05-23
    • 2016-11-27
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多