【发布时间】:2012-03-04 06:16:45
【问题描述】:
我有一个JList,其中包含我想显示两个值的项目。有没有办法让它显示一个字符串名称,然后有一个右对齐的字符串来显示一个值。看起来像这样:
Title__________________120
Title2_________________135
是否可以将两个字符串传递给一个项目并让第一个字符串显示在左侧,第二个字符串显示在右侧?
【问题讨论】:
我有一个JList,其中包含我想显示两个值的项目。有没有办法让它显示一个字符串名称,然后有一个右对齐的字符串来显示一个值。看起来像这样:
Title__________________120
Title2_________________135
是否可以将两个字符串传递给一个项目并让第一个字符串显示在左侧,第二个字符串显示在右侧?
【问题讨论】:
当然,实现自定义renderer。您可能会返回一个JPanel,其中BorderLayout 作为渲染组件,LHS 文本在WEST 中,RHS 文本在EAST 中。
另一种方法是将 HTML 推入默认渲染器(JLabel),使用拉伸 100% 宽度的 HTML 表格。尽管出于多种原因(例如,不假定默认渲染器的类型是标签),自定义渲染器会是更好的选择。
顺便说一句-也许您应该考虑使用JTable 来实现这种功能。无需 hack 或自定义类。
..jtable 是否允许选择项目?
当然!这是直接取自教程中How to Use Tables 的示例。选择了“简”。
一张桌子要花更多的力气来设置和正确,但值得付出努力。
JTable 会像 JList 一样执行吗..
不,表格最终提供了更多功能。但是列表也可以做的事情,(对用户)以几乎相同的方式工作。
【讨论】: