Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何制作JLabel';基于可用空间的文本换行?_Java_Swing_Jlabel_Layout Manager_Word Wrap - Fatal编程技术网

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换行文本问题:

  • 使用HTML标记将文本换行到指定长度,或
  • 使用
    JTextArea
    而不是具有包装属性的
    JLabel
  • 我对这两种方法的问题是它们都有固定的宽度。首先,您必须在html中指定一个宽度,或者在
    JLabel
    上设置最大大小。在第二种情况下,您必须在
    JTextArea
    上设置一个首选大小,如果不设置,则会附带一个默认大小

    是否有一种方法仅在受容器大小限制时才能使
    JLabel
    文本换行?
    基本上,其目的是让布局管理器处理限制和强制换行的宽度。这意味着,调整大小的窗口可能会更改标签内的文本-随着可用空间的增加,换行所产生的行数减少,随着可用空间的减少,换行的行数增加

    我更喜欢word至少包装的解决方案。如果您的解决方案也可以按字符进行换行,则布朗尼将为您提供分数

    。在第二种情况下,您必须在JTextArea上设置一个首选大小,如果不设置,它将附带一个默认大小

    通常指定文本区域的行/列,以便文本区域可以确定打包框架时使用的首选大小

    但是,如果使用能够调整文本区域宽度的布局管理器,则将根据可用空间计算宽度

    例如
    BorderLayout.PAGE\u START
    将始终填充宽度
    GridBagLayout
    还支持填充单元格中组件的宽度

    因此,一个带有适当布局管理器的文本区域应该可以解决您的问题

    如果您的解决方案也可以按字符进行换行,则布朗尼将为您提供分数

    JTextArea还支持字符换行

    。在第二种情况下,您必须在JTextArea上设置一个首选大小,如果不设置,它将附带一个默认大小

    通常指定文本区域的行/列,以便文本区域可以确定打包框架时使用的首选大小

    但是,如果使用能够调整文本区域宽度的布局管理器,则将根据可用空间计算宽度

    例如
    BorderLayout.PAGE\u START
    将始终填充宽度
    GridBagLayout
    还支持填充单元格中组件的宽度

    因此,一个带有适当布局管理器的文本区域应该可以解决您的问题

    如果您的解决方案也可以按字符进行换行,则布朗尼将为您提供分数


    JTextArea还支持字符换行。

    将来,使用更好的标记关键字通常会更快地得到答案。我只是碰巧遇到这个问题。我添加了“java,swing”。将来,使用更好的标记关键字通常会更快地得到答案。我只是碰巧遇到这个问题。我添加了“java,swing”。