Java 如何使用自动断开JLabel的文本。。。当MigLayout太长的时候?

Java 如何使用自动断开JLabel的文本。。。当MigLayout太长的时候?,java,swing,jlabel,layout-manager,miglayout,Java,Swing,Jlabel,Layout Manager,Miglayout,例如,让JLabel在文本足够短时正常显示其文本: 你好,世界 但当它变得太长时,会自动用“…”将其打断: 女士们,先生们,大家好 当您使用MigLayout时,有什么方法可以做到这一点吗?在其他布局中,这是默认行为,但在MigLayout中似乎不是 将其放在标记内,并使用添加新行 Mylabel.setText("<html><div style=\"text-align: center;\">"+ "First Line <

例如,让
JLabel
在文本足够短时正常显示其文本:

你好,世界

但当它变得太长时,会自动用“…”将其打断:

女士们,先生们,大家好

当您使用MigLayout时,有什么方法可以做到这一点吗?在其他布局中,这是默认行为,但在MigLayout中似乎不是

将其放在
标记内,并使用

添加新行

Mylabel.setText("<html><div style=\"text-align: center;\">"+
                    "First Line <br />"+
                    "Second Line</html>"
                );
将其放入
标记中,并使用

添加新行

Mylabel.setText("<html><div style=\"text-align: center;\">"+
                    "First Line <br />"+
                    "Second Line</html>"
                );
将其放入
标记中,并使用

添加新行

Mylabel.setText("<html><div style=\"text-align: center;\">"+
                    "First Line <br />"+
                    "Second Line</html>"
                );
将其放入
标记中,并使用

添加新行

Mylabel.setText("<html><div style=\"text-align: center;\">"+
                    "First Line <br />"+
                    "Second Line</html>"
                );

不完全确定我是否理解你所说的“break”是什么意思:我假设你希望省略号出现(表示标签更长),而不是简单地将文本切掉

  • 当标签的大小小于文本要求时,将显示省略号
  • 标签的最小尺寸与首选尺寸大致相同
  • 默认情况下,MigLayout的组件大小不会低于其最小值
因此,您必须通过使用组件约束覆盖组件的最小值,明确允许管理器的大小小于最小值:

content.add(new JLabel("we are looooong and getting longer by the minute"), "wmin 0");

(可能在列约束条件下也是可能的,未选中)

我不完全确定我是否理解您所说的“断开”是什么意思:我假设您希望显示省略号(表示标签较长)而不是简单地将文本切掉

  • 当标签的大小小于文本要求时,将显示省略号
  • 标签的最小尺寸与首选尺寸大致相同
  • 默认情况下,MigLayout的组件大小不会低于其最小值
因此,您必须通过使用组件约束覆盖组件的最小值,明确允许管理器的大小小于最小值:

content.add(new JLabel("we are looooong and getting longer by the minute"), "wmin 0");

(可能在列约束条件下也是可能的,未选中)

我不完全确定我是否理解您所说的“断开”是什么意思:我假设您希望显示省略号(表示标签较长)而不是简单地将文本切掉

  • 当标签的大小小于文本要求时,将显示省略号
  • 标签的最小尺寸与首选尺寸大致相同
  • 默认情况下,MigLayout的组件大小不会低于其最小值
因此,您必须通过使用组件约束覆盖组件的最小值,明确允许管理器的大小小于最小值:

content.add(new JLabel("we are looooong and getting longer by the minute"), "wmin 0");

(可能在列约束条件下也是可能的,未选中)

我不完全确定我是否理解您所说的“断开”是什么意思:我假设您希望显示省略号(表示标签较长)而不是简单地将文本切掉

  • 当标签的大小小于文本要求时,将显示省略号
  • 标签的最小尺寸与首选尺寸大致相同
  • 默认情况下,MigLayout的组件大小不会低于其最小值
因此,您必须通过使用组件约束覆盖组件的最小值,明确允许管理器的大小小于最小值:

content.add(new JLabel("we are looooong and getting longer by the minute"), "wmin 0");

(可能在列约束上也是可能的,未选中)

我认为这是默认行为。@AndrewThompson抱歉,刚刚发现这是因为我使用了MigLayout。是的,与其他布局,它做得很好。由于某些原因,MigLayout没有使用。我从未使用过
MigLayout
,但我很确定在添加建议/支持其最大大小的GUI元素时,它有布局限制。@andreThompson否:(请看屏幕截图,显示的文本屏幕截图不会显示在
中,这绝不能让我相信
MigLayout
没有这种能力。我认为这是默认行为。@AndrewThompson抱歉,刚刚发现这是因为我使用了MigLayout。是的,对于其他布局,它可以做到这一点。对于MigLayout,它没有因为某些原因,我从来没有使用过
MigLayout
,但我很确定在添加建议/支持其最大大小的GUI元素时,它有布局限制。@AndrewThompson否:(请看屏幕截图,显示的文本屏幕截图不会显示在
中,这绝不能让我相信
MigLayout
没有这种能力。我认为这是默认行为。@AndrewThompson抱歉,刚刚发现这是因为我使用了MigLayout。是的,对于其他布局,它可以做到这一点。对于MigLayout,它没有因为某些原因,我从来没有使用过
MigLayout
,但我很确定在添加建议/支持其最大大小的GUI元素时,它有布局限制。@AndrewThompson否:(请看屏幕截图,显示的文本屏幕截图不会显示在
中,这绝不能让我相信
MigLayout
没有这种能力。我认为这是默认行为。@AndrewThompson抱歉,刚刚发现这是因为我使用了MigLayout。是的,对于其他布局,它可以做到这一点。对于MigLayout,它没有因为某些原因,我从来没有使用过
MigLayout
,但我很确定在添加建议/支持其最大大小的GUI元素时,它有布局限制。@AndrewThompson否:(看屏幕截图,它显示了一个文本的屏幕截图,
决不能让我相信,
MigLayout
没有那种能力。不。我从标题上看了一下就知道了,但这不是OP想要的。另外,如果要把工作做得更好的话,不要使用

。不,我想这样从看标题开始,但这不是OP想要的。还有,当需要更好地完成工作时,不要使用

。没有。我从看标题开始,认为这不是OP想要的。还有,当需要时,不要使用