我想知道从ArrayList构建JList时是否有一种方法可以显示JList项目的特定属性。
我只想选择执行此操作时将显示在列表中的属性:
JList elementsList = new JList(elementsArrayList.toArray()); elementsScrollPane.setViewportView(elementsList);
你可以设置一个ListCellRenderer。
本质上,你编写了一个函数
public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) 返回Component。为了更简单,你可以DefaultListCellRenderer在从列表元素中提取要显示的值之后,可以扩展并调用其实现。
{ if (value instanceof YourClass) { YourClass ob = (YourClass) value; return super.getListCellRendererComponent(list, ob.getProperty(), index, isSelected, cellHasFocus); } return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); } 然后,将渲染器设置为elementList。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。