在 JComboBox 中使用 JList

Use JList in JComboBox

我有一个属于 DefaultListModel 的 JList。我不是要创建一个 JComboBox,它应该显示为它的元素,即 JList 中的元素。

实现此目标的最佳方法是什么? 谢谢。

我的代码:

DefaultListModel<String> listModelTopic = new DefaultListModel<>();
//create the list
listTopic = new JList<>(listModelTopic);
//create comboBox
JComboBox comboBox = new JComboBox();
comboBox.setModel(new DefaultComboBoxModel(topicList.getModel());

错误:构造函数 DefaultComboBoxModel(ListModel) 未定义

DefaultListModel 上使用 copyInto 将所有值复制到一个数组。

 String[] lstArray = new String[listModelTopic.getSize];
 listModelTopic.copyInto(lstArray );

然后使用这个数组创建DefaultComboBoxModel

DefaultComboBoxModel comboModel = new DefaultComboBoxModel(lstArray );
 JComboBox comboBox = new JComboBox();
 comboBox.setModel(comboModel );

希望对您有所帮助!