Jlist使用动作侦听器更新内容

时间:2013-04-13 17:20:49

标签: java swing actionlistener jlist

我有一个包含两个面板的Jframe。 在名为“panelA”的一个面板中,用户通过从JCombobox中选择一个项目来选择一个类别,然后单击“更新按钮”。然后我有另一个名为“panelB”的面板,其中包含一个Jlist,它显示了“panelA”中所选类别中现有项目的列表。

我有一个模型类,它使用观察者模式执行应用程序的逻辑部分。在单击模型类的按钮后,我使用panelA中的动作侦听器发送更改,模型类完成工作并准备包含过滤数据的列表。然后我需要了解如何在panelB上的Jlist内容上显示过滤数据。

现在我的问题是我不知道Jlist类的哪个方法更新了Jlist的内容。或者最好说我不知道​​Jlist类中的哪个方法更改了Jlist中的datalist。 我只需要一个线索。 对不起,如果我的问题不专业,我是java和编程的新手。 谢谢

1 个答案:

答案 0 :(得分:1)

如果你想要一个可变大小的JList,你应该用JList(ListModel)初始化它,使用一个允许在列表中添加新元素的列表模型(如DefaultListModel)。

然后你可以添加这样的新元素:

DefaultListModel model = (DefaultListModel)list.getModel();
model.addElement(element);

如果您使用的是Java 7,请使用泛型:

DefaultListModel<MyClass> model = (DefaultListModel<MyClass>)list.getModel();
model.addElement(element);

MyClass是列表元素的class