【发布时间】:2016-05-03 12:09:16
【问题描述】:
所以,我一直在研究由 TextAreas 组成的动态 UI,但问题是 TextAreas 的输入来自数据库,因此长度不同。而且我还必须根据数据库中字符串的长度使 TextAreas 动态化。这是一项艰巨的任务,因为字符串的长度不会自动以像素为单位说明其长度。 所以,例如字符串:
a)"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"
b)“MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM”
这两个字符串由 70 个字母组成,但它们的像素长度完全不同。 而且我需要确保 TextArea 的宽度基于字符串的像素长度。
我尝试过使用这样的东西:
int textwidth = (int) font.getStringBounds(ta.getText(), frc).getWidth();
但它给了我错误,因为字体如下:
textLabel.getFont()
-> Font[name=System Regular, family=System, style=Regular, size=12.0]
但是在之前的 getStringBounds 方法中使用这个字体会报错:
Cannot resolve method 'getStringBounds(java.lang.String, java.awt.font.FontRenderContext)'
任何帮助都会受到高度评价。如果需要,我可以提供更多信息。
提前致谢!
【问题讨论】:
-
您似乎将 AWT
Font类与 JavaFXFont类混淆了。有一个简单的no method 称为getStringBounds()。 -
好的,谢谢!可能是这种情况,是的,我想。但是您对我应该做什么以及如何做有什么建议吗?
标签: java javafx fonts textarea javafx-8