我有一个包含两个面板的Jframe。 在名为“panelA”的一个面板中,用户通过从JCombobox中选择一个项目来选择一个类别,然后单击“更新按钮”。然后我有另一个名为“panelB”的面板,其中包含一个Jlist,它显示了“panelA”中所选类别中现有项目的列表。
我有一个模型类,它使用观察者模式执行应用程序的逻辑部分。在单击模型类的按钮后,我使用panelA中的动作侦听器发送更改,模型类完成工作并准备包含过滤数据的列表。然后我需要了解如何在panelB上的Jlist内容上显示过滤数据。
现在我的问题是我不知道Jlist类的哪个方法更新了Jlist的内容。或者最好说我不知道Jlist类中的哪个方法更改了Jlist中的datalist。 我只需要一个线索。 对不起,如果我的问题不专业,我是java和编程的新手。 谢谢
答案 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
。