我遇到了Java Swing JLabel的问题。 我想在JLabel上显示的文本超出了JLabel的范围。我想通过Marqueeeffect显示它。我已经实现了效果,但是当有一个字符串超出JLabel的范围时,它会被切断,其余的被“......”替换。
我的问题是,如果有机会单独设置JLabel的文本长度,而不是取决于界限,那么它不会被切断?
希望有人能给我一个答案。
我不使用任何LayoutManagers,我不希望JLabel调整大小,它应该只包含超过它的边界的文本。
答案 0 :(得分:2)
我想通过Marqueeeffect显示它。
答案 1 :(得分:1)
在此LayoutTest
中,当标签的尺寸低于首选尺寸时,您可以看到标签的UI代表如何使用layoutCompoundLabel()
来隐藏文字。
在此MarqueeTest
中,MarqueePanel
有一个默认FlowLayout
,它采用了显示标签的首选尺寸。
答案 2 :(得分:0)
Swing JLabel并非设计用于滚动字幕。
这是JLabel的source code。您可以修改文本处理例程以进行选取框滚动,而不是使用省略号压缩文本。
哦,你最好使用布局管理器。没有布局管理器,您的选框JLabel将无法正确布局。