2012-02-17 116 views
3

我似乎无法找到如何将JScrollPane添加到JLabel。我正在使用的JLabel使用长格式的HTML字符串填充。请帮忙。添加JScrollPane到JLabel

area = new JLabel(); 

JScrollPane scroller = new JScrollPane(area, 
     JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, 
     JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 

panel.add(scroller); 
+2

为什么使用JLabel呢?而不是JTextArea,并将其设置为不可编辑? – Halfwarr 2012-02-17 20:49:28

+1

没有发布代码,没有ESP的人不可能告诉你做错了什么。 – 2012-02-17 20:58:42

回答

2

你能向我们提供您的代码?您是否将视口视图设置为JLabel?实例化您的JLabelJScrollPane。然后将JScrollPane视口设置为JLabel(setViewPortView(jlabel);),然后将JScrollPane添加到您希望滚动JLabel开启的任何组件。

希望这会有所帮助!

+0

@SolerMani:不要在评论中发布代码,因为正如你所看到的那样,这是不可读的,而是编辑你的原始问题和邮政编码*以评论和文本*讨论任何错误以及它如何工作。对Marc H来说,1+是非常好的推荐。 – 2012-02-17 21:05:04

+0

好的,完成了,请帮忙。 – 2012-02-17 21:08:51

7

真的不是好主意,持有或展示的一个JLabel长HTML格式文本,因为是可能的,更好的方式是使用JEditorPanes/JTextPanes,这些JComponets支持风格和HTML格式的文本,图标等等,为JTextPaneJEditorPane例子

0

您需要设置JScrollPane的口的视图:

scroller.setViewPortView(区);

棍子行,你去panel.add(scroller);

之前让我们知道有没有什么帮助或没有。