У меня есть два класса, класс графического интерфейса, который содержит два поля со списком, и класс слушателя, который слушает два поля со списком. Программное обеспечение предназначено для пиццы, а поле со списком предназначено для выбора типа и количества пиццы, я опубликую соответствующий код.
(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);
}
В классе слушателя я застрял и пока не смог найти решение. Я должен использовать ActionListener, но я не уверен, как я должен различать два поля со списком.
(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, я хочу иметь возможность сохранять выбранный элемент JComboBox ChooseItem в строке «описание» и выбранный элемент JComboBox количества в строке «количество».
В настоящее время выбранный элемент JComboBox ChooseItem отображается как оба значения, а количество вообще не отображается. (На самом деле это прогресс, как и прежде, какое бы поле ни использовалось последним, оно появлялось в строке описания, а количество указывало на ноль.)
Все примеры, которые мне удалось найти в Интернете, включают в себя только ActionListener с одним JComboBox, я часами пытался заставить его работать, но безуспешно, я полностью застрял.