在 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 );
希望对您有所帮助!
我有一个属于 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 );
希望对您有所帮助!