Java 为什么单击按钮时会调用此方法两次?

Java 为什么单击按钮时会调用此方法两次?,java,methods,combobox,applet,Java,Methods,Combobox,Applet,我正在构建一个简单的小程序,在我的小程序中有一个带有下拉列表的组合框。选择一个选项并单击“添加”按钮后,选择将被传递给创建对象的方法。唯一的问题是,当我单击按钮时,它会很好地添加对象,但当我尝试添加另一个slelection时,它会删除上一个slelection,并将新的slelection设置为与新的slelection相同的属性。因此,本质上,它是在重新添加选择 btnAdd.addActionListener(new ActionListener() { publ

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

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);
     }

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

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());
     }

}

为了更快地获得更好的帮助,发布一个-this甚至不会编译
private void addToobj(num){
-那么我们怎么知道您实际显示了导致问题的代码。仍然无法编译,您使用两个参数调用该方法,它只需要一个.opps。对不起。这是我的错别字。代码太多了,我不想复制和粘贴所有代码。这似乎没有帮助。对,在重新阅读任务之后ion我知道它不会的oldObj是什么?