0

我正在构建一个简单的小程序,在我的小程序中我有一个带有下拉列表的组合框。当一个选项被选中,并点击一个按钮“添加”时,选择被接受并传递给一个创建对象的方法。唯一的问题是,当我单击按钮时,它会很好地添加对象,但是当我尝试添加另一个选择时,它会删除前一个并将新的设置为与新的相同的属性。所以本质上它是重新添加选择。

btnAdd.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                addTooObj(comboBox.getSelectedItem().toString(), lblStatusLabel);
                System.out.println(comboBox.getSelectedIndex());

            }

        });



 private void addToobj(String num,JLabel j){
        System.out.println(num);
        Object objToBeAdded = null;
        long objNumber = Long.parseLong(num);
        int quan = 0;
        if (objNumber == 12354589621l) {
            objToBeAdded = new Item(objNumber, 2.00, quan);
        } else if (objNumber == 21) {
            objToBeAdded = new Item(objNumber, 1.50, quan);
        } else if (objNumber == 12) {
            objToBeAdded = new Item(objNumber, 5.20, quan);
        } else {
            System.out.println("error");
        }

         oldObj.add(objToBeAdded);
     }
4

1 回答 1

0

在您的actionPerformed方法中,您可以获得操作命令并查看它被触发的操作,然后仅在操作是您想要的操作时调用您的方法。

public void actionPerformed(ActionEvent e) {
     String action = e.getActionCommand();
     System.out.println("The action was: " + action);
     if(action.equals("What ever action you want")){
         addTooObj(comboBox.getSelectedItem().toString(), lblStatusLabel);
         System.out.println(comboBox.getSelectedIndex());
     }

}
于 2013-07-16T21:46:36.047 回答