如何动态添加jcombobox中的元素?

时间:2014-02-08 05:54:12

标签: java swing jcombobox comboboxmodel

jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

我想知道,如何在运行时在comboBox中添加元素?

2 个答案:

答案 0 :(得分:5)

  

“我想知道,如何在运行时在comboBox中添加元素?”

请参阅DefaultComboBoxModel#addElement

  • public void addElement(E anObject)

从界面复制的说明:MutableComboBoxModel
在模型的末尾添加项目。此方法的实现应通知所有已注册的ListDataListener已添加该项目。

在您的情况下,由于您没有参考模型,您需要这样做

DefaultComboBoxModel model = (DefaultComboBoxModel)jComboBox2.getModel();
model.addElement(...)

请参阅How to Use ComboBoxes


还要学习阅读文档。只需转到Here,您就可以搜索DefaultComboBoxModel或其他您不熟悉的课程。

答案 1 :(得分:1)

我想Answer会对你有帮助。

我从那个答案中复制了这个。

如果您的组合框有MutableComboBoxModel,您可以执行以下操作

MutableComboBoxModel model = (MutableComboBoxModel)combo.getModel();
model.addElement( elementToAdd );

这相当于调用JComboBox#addItem(请参阅下面的实现):

public void addItem(Object anObject) {
    checkMutableComboBoxModel();
    ((MutableComboBoxModel)dataModel).addElement(anObject);
}

但我认为如果你想在模型方面进行更改而不是浏览视图(除了为用户提供在视图中编辑的能力),最好直接修改模型。