将不同JList中的对象添加到一个JList中

adding objects from different JLists to one JList

本文关键字:JList 一个 对象 添加      更新时间:2024-02-03

我有三个JList,startersList、mainsList和dessertsList。我还有一张帐单清单。我还有三个按钮用于三个JList,以便添加到billList中。

我的问题是,每次我单击三个按钮中的任何一个,它都会将对象添加到billList JList中,但是,如果我再次单击添加,JList似乎已经"重置"了它的自身,因为该对象没有将其自身添加到之前添加的对象下。

这是按钮的代码:

btnAddStarter = new JButton("Add starter");
    btnAddStarter.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            DefaultListModel dlm1 = new DefaultListModel();
            billListGUI.setModel(dlm1);
            dlm1.addElement(startersListGUI.getSelectedValue());
        }
    });
    btnAddStarter.setBounds(18, 266, 200, 29);
    contentPane.add(btnAddStarter);
    btnAddMains = new JButton("Add mains");
    btnAddMains.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            DefaultListModel dlm1 = new DefaultListModel();
            billListGUI.setModel(dlm1);
            dlm1.addElement(mainsListGUI.getSelectedValue());       
        }
    });
    btnAddMains.setBounds(18, 446, 200, 29);
    contentPane.add(btnAddMains);
    btnAddDessert = new JButton("Add dessert");
    btnAddDessert.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            DefaultListModel dlm1 = new DefaultListModel();
            billListGUI.setModel(dlm1);
            dlm1.addElement(dessertsListGUI.getSelectedValue());
        }
    });
    btnAddDessert.setBounds(17, 631, 201, 29);
    contentPane.add(btnAddDessert);

我认为我键入"DefaultListModel dlm1=new DefaultListModel();"的地方是问题所在,但不确定

感谢

如果创建一个新的DefaultListModel,数据就会丢失。

在与按钮方法相同的级别上应用ListModel,并在actionperformed方法中使用它。