Java Swing JLabel文本比边界更长

时间:2013-03-19 13:11:17

标签: java swing jlabel bounds absolutelayout

我遇到了Java Swing JLabel的问题。 我想在JLabel上显示的文本超出了JLabel的范围。我想通过Marqueeeffect显示它。我已经实现了效果,但是当有一个字符串超出JLabel的范围时,它会被切断,其余的被“......”替换。

我的问题是,如果有机会单独设置JLabel的文本长度,而不是取决于界限,那么它不会被切断?

希望有人能给我一个答案。

我不使用任何LayoutManagers,我不希望JLabel调整大小,它应该只包含超过它的边界的文本。

3 个答案:

答案 0 :(得分:2)

  

我想通过Marqueeeffect显示它。

查看Marquee Panel

答案 1 :(得分:1)

在此LayoutTest中,当标签的尺寸低于首选尺寸时,您可以看到标签的UI代表如何使用layoutCompoundLabel()来隐藏文字。

在此MarqueeTest中,MarqueePanel有一个默认FlowLayout,它采用了显示标签的首选尺寸。

image

答案 2 :(得分:0)

Swing JLabel并非设计用于滚动字幕。

这是JLabel的source code。您可以修改文本处理例程以进行选取框滚动,而不是使用省略号压缩文本。

哦,你最好使用布局管理器。没有布局管理器,您的选框JLabel将无法正确布局。