我的代码中遇到了一些关于将ArrayList实现到JComboBox的问题。我能够通过使用像"roomList.addItem(selectedItem);
这样的代码来完成它而没有数组。我想要完成的是使用arrayList将新信息发送到GUI的另一部分,以便每当用户启动GUI时我都可以使用该数组来保存和加载数据。问题:如何在JComboBox中正确使用数组?我已经看过一些教程,但我似乎无法使用数组中的元素更新ComboBox。我在某个地方犯了一个错误,如果你能帮忙我真的很感激。 :)
//这段代码来自主java文件; array在OrderSystem.java中。
OrderSystem order = new OrderSystem();
ArrayList<String> list = order.getArrayList();
//检索从JComboBox中选择的数据(不同的数据)并将其添加到数组列表中。
JComboBox<String> test = room.getRoomType();
String selectedItem = (String) test.getSelectedItem();
list.add(selectedItem);
现在,在OrderSystem.Java中: 创建一个ArrayList和JComboBox
ArrayList<String> list = new ArrayList<String>();
JComboBox<Object> roomList;
...
setComboBox(new JComboBox<>(list.toArray()));
// setter and getters
public ArrayList<String> getArrayList(){
return list;
}
public void setArrayList(ArrayList<String> list){
this.list = list;
}
谢谢!
答案 0 :(得分:0)
试试这个:
comboBox.setModel(new DefaultComboBoxModel<>(list.toArray(new String[list.size()])));