如何在JComboBox中正确使用数组?

时间:2014-04-25 20:59:13

标签: java arrays arraylist jcombobox

我的代码中遇到了一些关于将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;


}

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个:

comboBox.setModel(new DefaultComboBoxModel<>(list.toArray(new String[list.size()])));