2012-08-14 33 views
0

我有一個包含10個值的列表。我想在工具提示中迭代所有這些值。如何在Swing中執行此操作?作爲Java Swing中的工具提示,是否可以迭代ArrayList的值?

+0

你的意思是同時顯示所有這些,或者在單個工具提示顯示在列表中的所有項目? – 2012-08-14 01:21:47

+0

我想在單行工具提示中逐行顯示列表中的所有項目 – coder 2012-08-14 01:23:35

回答

3

我的首選方法是去HTML。這裏是你如何acheive你想要什麼,並在一個工具提示中顯示的所有行:

String toolTip = "<html>"; 
for(String line : arrayOfStrings) 
{ 
    toolTip += line +"<br>"; 
} 
toolTip += "</html>"; 
myComponent.setToolTipText(toolTip); 
+1

也考慮一個'li'或'ol'風格的'li'元素組(列表)。 ;) – 2012-08-14 02:05:12

0

用列表的內容構建一個字符串(甚至可以使用html語法),並在該組件上調用setToolTipText()方法。

0

Apache提供了一個名爲StringUtils的公用程序包中的實用程序。您可以通過以下方式來使用它:

​​

itemsString然後可以在你的擺動控制的「工具提示」顯示。

StringUtilsCommons Lang(參見documentation here)的一部分。

如果使用Maven,您可以使用下面的神器:

<dependency> 
    <groupId>commons-lang</groupId> 
    <artifactId>commons-lang</artifactId> 
    <version>2.6</version> 
</dependency> 

希望幫助!

+0

我在哪裏可以獲得此實用程序? – coder 2012-08-14 01:30:29

+0

更新了我的評論,以包含圖書館和Maven依賴關係的鏈接。 – 2012-08-14 01:34:39

+0

不應該是[StringUtils.join()](http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringUtils.html#join%28java.util.Collection, %20java.lang.String 29%)? – tenorsax 2012-08-14 01:40:04

2
List<String> strList; 
//... 
StringBuilder items = new StringBuilder(); 
for(String item : strList) { 
    items.append(item + "\n"); 
} 
//... 
someJComponentObject.setToolTipText(items.toString()); 
相關問題