2012-02-17 117 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);

之前讓我們知道有沒有什麼幫助或沒有。