【问题标题】:JavaFX – How many characters in one row of a TextArea? [duplicate]JavaFX – TextArea 的一行中有多少个字符? [复制]
【发布时间】:2014-01-17 19:31:06
【问题描述】:

如何根据区域的宽度计算 JavaFX 中 TextArea 的一行中的可见字符数(没有水平滚动!)?
我使用等宽字体,所以所有字符都具有相同的宽度。是否可以通过字体大小来计算字体字符的宽度?

【问题讨论】:

    标签: textarea width javafx character column-count


    【解决方案1】:

    是的,可以计算它们。 即使使用自定义字体。 您可以使用 FontMetrics 类。

    Font font = Font.font("YourFont", 14);
    FontMetrics fontMetrics = Toolkit.getToolkit().getFontLoader().getFontMetrics(font);
    double length = fontMetrics.computeStringWidth("The text ");
    

    但我猜这是错误的方向?

    但是如果你的字体是等宽的,你可以计算一个字符的宽度,然后 然后只需将 textArea 的宽度除以一个字符的宽度,即可得到每行的最大字符数。

    double widthPerChar = fontMetrics.computeStringWidth("A");
    double maxCharsPerLine = textArea.getWidth() / widthPerChar;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      相关资源
      最近更新 更多