繁体   English   中英

Java Swing:如何自定义JList的项目?

[英]Java Swing : how to customize the JList's items?

我是Swing框架新手。 我要设计以下清单。

在此处输入图片说明

有什么方法可以在JList自定义列表项? 就像在Android编写自定义Adapter一样,它具有getView()方法,该方法将返回将View显示为ListItem的View ...

您将需要一个自定义渲染器。 您可以使用将JLabel用作呈现组件的DefualtListCellRenderer ,也可以创建自定义ListCellRenderer ,在其中可以通过扩展组件并推动ListCellRenderer来指定呈现组件。

您可以看到更多的提供自定义渲染器 链接指向“如何使用组合框”教程,但是组合框和JLists使用相同类型的渲染器。

您将发现的基本概念是,您将不得不重写该方法

public Component getListCellRendererComponent(
                                   JList list,
                                   Object value,
                                   int index,
                                   boolean isSelected,
                                   boolean cellHasFocus) {

用于自定义ListCellRendererDefaultListCellRenderer 值将返回每个列表项的值。 列表项可以是一个对象,例如具有字段idnamePerson 因此,您可以将值设置为Person并使用必要的字段来呈现组件。

Person person = (Person)value;
// renderer the component using Person values
// lastly return the component.

因此,基本上将其分解为“您将如何渲染其中一个单元格?” 您将使用哪些组件? 然后只需实现renderer类/方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM