簡體   English   中英

所選組合框值兩次添加到數組列表中

[英]Selected combobox value added twice to an arraylist

我使用SQL查詢填充了組合框的元素,並將所選值寫入arraylist。 當我打印出arraylist的元素時,該值已被添加兩次。 有人知道這是為什么嗎?如何阻止這種情況發生?

從代碼中摘錄:

resultSet = statement.executeQuery("SELECT name FROM menu WHERE category = 'beverage'");
while (resultSet.next())
{
    beverageJComboBox.addItem(resultSet.getString(1));
    System.out.printf("%s", resultSet.getString(1));
}

對於將ite添加到ArrayList:

beverageJComboBox.addItemListener(
     new ItemListener()
     {
          public void itemStateChanged( ItemEvent event )
          {
              billItems.add((String)beverageJComboBox.getSelectedItem());
              System.out.printf("%s", billItems); 
          }
     }// end anonymous inner class
); 

(對Java來說是新手!)

使用ActionListener而不是ItemListener

    beverageJComboBox.addActionListener (new ActionListener () {
        public void actionPerformed(ActionEvent e) {
            ...
        }
    });

注意:在查詢本身中使用distinct關鍵字可以顯示JComboBox的唯一記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM