두 개의 콤보 상자를 포함하는 gui 클래스와 두 개의 콤보 상자를 수신하는 수신기 클래스가 있습니다. 이 소프트웨어는 피자에 관한 것이고 콤보 상자는 피자 타입과 수량을 선택하는 것이고 관련 코드를 게시 할 것입니다.ActionEvent에서 여러 콤보 박스를 구별하는 방법
(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에의 I는 "양"의 "설명"문자열과 선택 수량 JComboBox의 항목에서 선택된 chooseItem JComboBox에 항목을 저장할 수 있기를 원하는 문자열 값을 선택하면 .
현재 selectItem JComboBox에서 선택한 항목이 두 값으로 나타나고 수량이 전혀 표시되지 않습니다. (이것은 실제로 마지막으로 사용 된 상자가 설명 문자열에 나타나고 수량이 null을 가리키는 것과 같이 진행됩니다.)
온라인으로 찾을 수 있었던 모든 예제에는 하나의 JComboBox가있는 ActionListener 만 포함되어 있습니다. 몇 시간 동안 작동하도록 노력했지만 행운이 없었습니다. 완전히 갇혀 있습니다.
* "관련 코드를 게시 할 것입니다."* 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. –