将来自不同JLists的对象添加到一个JList

时间:2016-04-05 17:06:37

标签: javascript jbutton jlist

我有三个JList,startersList,mainsList和dessertsList。我也有一个billList。我还有三个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();”是问题的所在,但不确定。

感谢

1 个答案:

答案 0 :(得分:0)

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

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