2012-02-12 136 views
5

我有一個JList與項目,我想顯示兩個值。有沒有辦法讓它顯示一個字符串名稱,然後有一個右對齊的字符串來顯示一個值。看起來像這樣:JList文本對齊

Title__________________120 
Title2_________________135 

是否有可能兩個字符串傳遞給一個項目,對左邊和右邊的第二個第一字符串顯示?

回答

6

當然,實施自定義renderer。您可能會返回JPanelBorderLayout作爲渲染組件,LHS文本爲WEST,RHS文本爲EAST

另一種方法是使用橫跨100%寬度的HTML表將HTML推入默認渲染器(一個JLabel)。儘管由於許多原因(例如,不假定默認渲染器的類型是標籤),自定義渲染器將是更好的選擇。


順便說一句 - 也許你應該考慮使用JTable這種功能。不需要黑客或自定義類。


..does JTable中允許選擇項目?

當然!以下是本教程中直接來自How to Use Tables的示例。 'Jane'被選中。

Table with row selected

表是一點點更多的努力來建立和得到正確的,但它是非常值得的努力。

會JTable中執行,就像一個JL​​ist ..

否,該表最終提供更多的功能。但是它所做的事情也是一個列表可以完成的工作,對於用戶來說也是如此。

+0

JTable是否會像JList一樣執行(對不起,這是我第一次使用jlists和jtable,所以我不熟)。我的意思是JList爲選擇值提供了一個很好的界面,但是jtable允許選擇項目嗎? – mbreen 2012-02-12 16:50:17

+0

查看編輯,但特別看看'如何使用表格'鏈接。這將解釋你需要知道的大部分內容。 – 2012-02-12 17:04:22

+0

太棒了!即使是最簡單的問題,每個人都可以在stackoverflow上給出很好的詳細答案!非常感謝。 – mbreen 2012-02-12 17:10:04