java中给组合框加监听器,如何区分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中選擇值時,我希望能夠在“description”字符串中存儲選定的chooseItem JComboBox項目,并在“quantity”字符串中存儲所選數量的JComboBox項目。
目前,chooseItem JComboBox所選項目顯示為兩個值,并且數量完全不顯示。 (實際上,這與前面使用的最后一個盒子出現在描述字符串中并且數量指向空值時一樣。)
我在網上找到的所有例子都只涉及帶有單個JComboBox的ActionListener,我一直試圖讓它工作幾個小時,但沒有運氣,我完全被卡住了。
總結
以上是生活随笔為你收集整理的java中给组合框加监听器,如何区分ActionEvent中的多个组合框的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux环境变量配置文件在哪(linu
- 下一篇: php中des加密cbc模式,php中加