Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在gui中已经有一个listener类的实例,它为我创建了一个无限循环。因此,这意味着我必须在我的listener类中添加actionlistener,并将其作为我的listener类的参数,即“chooseItem.addActionListener(l_Java_Swing_User Interface_Jcombobox_Actionlistener - Fatal编程技术网

Java 在gui中已经有一个listener类的实例,它为我创建了一个无限循环。因此,这意味着我必须在我的listener类中添加actionlistener,并将其作为我的listener类的参数,即“chooseItem.addActionListener(l

Java 在gui中已经有一个listener类的实例,它为我创建了一个无限循环。因此,这意味着我必须在我的listener类中添加actionlistener,并将其作为我的listener类的参数,即“chooseItem.addActionListener(l,java,swing,user-interface,jcombobox,actionlistener,Java,Swing,User Interface,Jcombobox,Actionlistener,在gui中已经有一个listener类的实例,它为我创建了一个无限循环。因此,这意味着我必须在我的listener类中添加actionlistener,并将其作为我的listener类的参数,即“chooseItem.addActionListener(listener);”然后我在listener类中预执行actionlistener。我不知道如何在一个类中完成这一切,但仍然将信息传递给侦听器类,而不在其中创建gui实例。对不起,我不太明白你在说什么。如果您担心访问匿名类之外的属性,您应该知道


在gui中已经有一个listener类的实例,它为我创建了一个无限循环。因此,这意味着我必须在我的listener类中添加actionlistener,并将其作为我的listener类的参数,即“chooseItem.addActionListener(listener);”然后我在listener类中预执行actionlistener。我不知道如何在一个类中完成这一切,但仍然将信息传递给侦听器类,而不在其中创建gui实例。对不起,我不太明白你在说什么。如果您担心访问匿名类之外的属性,您应该知道这些属性都可以从匿名类中访问。我设法解决了我的困惑,您的回答让我以一种我知道我必须做什么的方式质疑我的代码。所以谢谢:)干杯,这也帮了我很多忙!干杯,这也帮了我很多忙!
(gui class)
private Listener listen = new Listener();
private JComboBox chooseItem = new JComboBox();
private JComboBox quantity = new JComboBox();
private String[] selection = {"Choose a Pizza","Margherita", "Pepperoni", "Four Seasons", "Chips", "Garlic Bread", "Potato Wedges", "Cocacola", "Orange Juice", "Lemonade"};
private String[] qSelection = {"0","1","2","3","4","5","6","7","8","9","10"};

private void comboBoxs() {
 choosePizza = new JComboBox(selection);
    chooseItem.setSelectedIndex(0);
    panel.add(choosePizza);
    choosPizza.addActionListener(listener);

 quantity = new JComboBox(qSelection);
    quantity.setSelectedIndex(0);
    panel.add(quantity);
    quantity.addActionListener(listener);
}
(listener class)

public void actionPerformed(ActionEvent event) {

   if (actionCommand.equals("Confirm")) {
          String q = new String();
          String d = new String();
            d = description;
            q = quantity;
    }

 else {
        JComboBox cbq = (JComboBox)event.getSource();
        String itemNumber = (String)cbq.getSelectedItem();
        getQuantity(itemNumber);

        JComboBox cb = (JComboBox)event.getSource();
        String name = (String)cb.getSelectedItem();
        getItemName(name);
   }
 }

  public String getItemName(String name) {
        description = new String();
        description = name;
        return name;
  }

  public String getQuantity(String itemNumber){
        quantity = new String();
        quantity = itemNumber;
        return itemNumber;
 }
JComboBox cbq = (JComboBox)event.getSource();
String itemNumber = (String)cbq.getSelectedItem();
getQuantity(itemNumber);

//this returns the same combobox as above, so probably incorrect behavior
JComboBox cb = (JComboBox)event.getSource();
String name = (String)cb.getSelectedItem();
getItemName(name);
if(e.getSource() == gui.chooseItem){

}
else if(e.getSource() == gui.quantity){

}
chooseItem.setActionCommand("itemCB");
quantity.setActionCommand("quantityCB");
if(e.getActionCommand().equals("itemCB")){
}
else if(e.getActionCommand().equals("quantityCB")){
}
String foo;
String bar;

JComboBox fooBox = new JComboBox();
JComboBox barBox = new JComboBox();

fooBox.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent event) {
        foo = "Updated";
    }
});

barBox.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent event) {
        bar = "Updated";
    }
});