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

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

4

2 回答 2

5

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

DefaultComboBoxModel#addElement

  • public void addElement(E anObject)

从接口复制的描述:MutableComboBoxModel
在模型末尾添加一个项目。此方法的实现应通知所有已注册的 ListDataListener 该项目已添加。

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

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

并查看如何使用组合框


还要学习阅读文档。只要去这里,你就可以搜索DefaultComboBoxModel或任何其他你不熟悉的课程。

于 2014-02-08T06:00:43.723 回答
1

我想答案会对你有所帮助。

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

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

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

这相当于调用JComboBox#addItem(见下文的实现):

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

但是我认为如果你想在模型端进行更改,而不是通过视图(除了为用户提供在视图中编辑的能力),直接修改模型是一个最佳实践

于 2014-02-08T06:04:18.560 回答