0

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

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

希望有人为我解答。

我不使用任何 LayoutManagers 并且我不希望 JLabel 调整大小,它应该只能包含比它的边界更长的文本。

4

3 回答 3

2

我想通过 Marqueeeffect 显示它。

查看选取框面板

于 2013-03-19T15:19:40.777 回答
1

在本文LayoutTest中,您可以看到标签的 UI 代理如何在layoutCompoundLabel()标签大小低于首选大小时删除文本。

其中MarqueeTestMarqueePanel有一个默认值FlowLayout,它采用显示标签的首选大小。

图片

于 2013-03-19T16:48:08.557 回答
0

Swing JLabel 不是为做选取框滚动而设计的。

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

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

于 2013-03-19T14:19:16.737 回答