使用组合框将多个元素添加到ListModel

时间:2013-03-30 16:17:09

标签: java swing jcombobox jlist

我想使用JListJComboBox添加多个元素。当用户从JComboBox中选择一个项目时,它应该添加到JList。如果列表中已存在该项目,则应弹出消息通知。我该怎么做?

private void cmbBagSizeItemStateChanged(java.awt.event.ItemEvent evt) {
    DefaultListModel listModel = new DefaultListModel();
    lstBagSize.setModel(listModel);

    if ((evt.getStateChange() == ItemEvent.SELECTED)) {
          if (listModel.getSize() != 0) {
                for (int i = 0; i < listModel.getSize(); i++) {
                      listModel.addElement(cmbBagSize.getModel().getSelectedItem());
                      break;
                }
          } else {
                listModel.addElement(cmbBagSize.getModel().getSelectedItem());
          }
    }
}

1 个答案:

答案 0 :(得分:0)

我设法找到了上述问题的解决方案。我使用了一个名为contains的方法来检查存在重复的位置。

        DefaultListModel listModel = new DefaultListModel();

        if (listModel.contains(this.cmbBagSize.getSelectedItem())) {
              JOptionPane.showMessageDialog(null, "Duplicate");

        } else {

              listModel.addElement(this.cmbBagSize.getSelectedItem());
              this.lstBagSize.setModel(listModel);
        }