Java 如何制作JLabel';基于可用空间的文本换行?
该网站上已经有几个问题询问如何制作Java 如何制作JLabel';基于可用空间的文本换行?,java,swing,jlabel,layout-manager,word-wrap,Java,Swing,Jlabel,Layout Manager,Word Wrap,该网站上已经有几个问题询问如何制作JLabelwrap文本。我已经读过了,并没有问(完全)相同的问题。因此,放慢你的“旗帜重复”锤 其他问题通过以下两种方式解决了JLabel换行文本问题: 使用HTML标记将文本换行到指定长度,或 使用JTextArea而不是具有包装属性的JLabel 我对这两种方法的问题是它们都有固定的宽度。首先,您必须在html中指定一个宽度,或者在JLabel上设置最大大小。在第二种情况下,您必须在JTextArea上设置一个首选大小,如果不设置,则会附带一个默认大小 是
JLabel
wrap文本。我已经读过了,并没有问(完全)相同的问题。因此,放慢你的“旗帜重复”锤
其他问题通过以下两种方式解决了JLabel换行文本问题:
JTextArea
而不是具有包装属性的JLabel
JLabel
上设置最大大小。在第二种情况下,您必须在JTextArea
上设置一个首选大小,如果不设置,则会附带一个默认大小
是否有一种方法仅在受容器大小限制时才能使JLabel
文本换行?基本上,其目的是让布局管理器处理限制和强制换行的宽度。这意味着,调整大小的窗口可能会更改标签内的文本-随着可用空间的增加,换行所产生的行数减少,随着可用空间的减少,换行的行数增加
我更喜欢word至少包装的解决方案。如果您的解决方案也可以按字符进行换行,则布朗尼将为您提供分数
。在第二种情况下,您必须在JTextArea上设置一个首选大小,如果不设置,它将附带一个默认大小
通常指定文本区域的行/列,以便文本区域可以确定打包框架时使用的首选大小
但是,如果使用能够调整文本区域宽度的布局管理器,则将根据可用空间计算宽度
例如BorderLayout.PAGE\u START
将始终填充宽度GridBagLayout
还支持填充单元格中组件的宽度
因此,一个带有适当布局管理器的文本区域应该可以解决您的问题
如果您的解决方案也可以按字符进行换行,则布朗尼将为您提供分数
JTextArea还支持字符换行
。在第二种情况下,您必须在JTextArea上设置一个首选大小,如果不设置,它将附带一个默认大小
通常指定文本区域的行/列,以便文本区域可以确定打包框架时使用的首选大小
但是,如果使用能够调整文本区域宽度的布局管理器,则将根据可用空间计算宽度
例如BorderLayout.PAGE\u START
将始终填充宽度GridBagLayout
还支持填充单元格中组件的宽度
因此,一个带有适当布局管理器的文本区域应该可以解决您的问题
如果您的解决方案也可以按字符进行换行,则布朗尼将为您提供分数
JTextArea还支持字符换行。将来,使用更好的标记关键字通常会更快地得到答案。我只是碰巧遇到这个问题。我添加了“java,swing”。将来,使用更好的标记关键字通常会更快地得到答案。我只是碰巧遇到这个问题。我添加了“java,swing”。