超级简单的java swing jlist问题,我只能';我不明白!

超级简单的java swing jlist问题,我只能';我不明白!,java,swing,jlist,Java,Swing,Jlist,好的,我正在做一个家庭作业,我正在使用SWING为Java项目制作GUI,我在使用JList时遇到了麻烦 我有一个我制作并设置属性的客户对象,我想将该对象添加到树映射中。我想连接树映射,以便映射中的任何和所有对象都将填充到JList中(无论如何,名称属性) 我已经做了很多环顾四周的工作,看到了很多关于从头开始编写这些东西的内容,但很少涉及Swing实现。我将我的客户对象放入地图,然后我想让我的JList反映地图的内容,但我不知道如何连接它 customers.put(c.getName(

好的,我正在做一个家庭作业,我正在使用SWING为Java项目制作GUI,我在使用JList时遇到了麻烦

我有一个我制作并设置属性的客户对象,我想将该对象添加到树映射中。我想连接树映射,以便映射中的任何和所有对象都将填充到JList中(无论如何,名称属性)

我已经做了很多环顾四周的工作,看到了很多关于从头开始编写这些东西的内容,但很少涉及Swing实现。我将我的客户对象放入地图,然后我想让我的JList反映地图的内容,但我不知道如何连接它

    customers.put(c.getName(), c);
    this.customerList.(What can I do here? add Customer object?? I can't find what I need);

谢谢你的帮助

您需要创建一个自定义列表模型,该模型返回要放在JList的每一行中的对象。无法使用索引访问树映射,因此需要其他内容。总体思路如下:(摘自JList):

这样,当您更新收藏时,只需在JList上调用
revalidate()
repaint()
,它也会更新其内容

所以我正在做家庭作业 分配

那么这项作业到底是关于什么的呢?您已经给了我们您尝试的解决方案,但由于我们不知道实际需求,我们无法判断您是否在正确的轨道上

您是否被迫使用树形图来存储对象?因为这不是用于ListModel的好集合,因为您不能直接访问对象


或者分配仅仅是关于在JList中显示对象的数据?如果是这样,那么您可以使用DefaultListModel。您只需重写自定义对象的toString()方法,即可在列表中显示“name属性”。

您应该看看swing教程()。
ListModel bigData = new AbstractListModel() {
    ArrayList customers;
    public int getSize() { return customers.size() }
    public Object getElementAt(int index) { return customers.get(index); }
};

JList bigDataList = new JList(bigData);