如何在Java中获取文本的字体和大小特定的长度?

时间:2018-09-03 21:03:07

标签: java swing fonts jframe text-size

因此,Stackoverflow上还有其他几篇文章,例如Calculate the display width of a string in JavaHow to calculate length of string in pixels for specific font and size?,但第一个仅根据一些预定的字体和大小来计算字符串的宽度,而第二个则在Python。

基本上,我的目标是要创建一个有用户名的应用程序,并且其上的JLabel正是文本的长度。由于我在设计程序时不知道用户名是什么,所以我不知道它的长度,但是我想知道如何使用指定的字体和大小来计算文本的宽度(然后我已经知道了调整JLabel的大小。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

不要尝试计算标签的大小!!!

  

和上面的JLabel正是文本的长度。

这正是JLabel工作方式的默认行为。

每个Swing组件负责根据组件的属性确定自己的首选大小。

对于JLabel,它将查看字体,文本边框等,以确定其首选大小。

然后,您只需使用适当的布局管理器将标签添加到框架中,标签就会以其首选大小显示。

阅读Layout Managers上的Swing教程,以便您可以使用适当的布局管理器以首选尺寸显示标签。