我有三个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();”是问题的所在,但不确定。
感谢
答案 0 :(得分:0)
如果您创建新的DefaultListModel,您的数据就会丢失。
将ListModel应用于与按钮方法相同的级别,并在actionperformed方法中使用它。