2012-02-12 90 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