从GUI发出更改ArrayList中的值

时间:2013-03-28 17:04:04

标签: java swing arraylist defaultlistmodel listselectionlistener

我有一个名为conditionList的ArrayList,它存储条件名称。 无论何时添加/编辑或删除一个,我的GUI上的列表都不会更新。

您可以在下面看到我使用2个模型...一个名为condListModel的DefaultListModel和一个名为conditionModel的DefaultComboBoxModel。

我在下面的代码是针对方法editCondition(),在这个阶段,文本已经在GUI上更改,并在此处提交。在我的GUI上,在提交更改后,ComboBox和JList没有任何问题,所以我确定模型更改是正确的。

然而我的问题是:当我通过序列化保存ArrayList conditionList,然后将其加载回来时,更改就消失了。所以我认为我的代码中有更改ArrayList(名为conditionList)中的字符串值的问题,任何人都可以查看是否发现问题

String conString = jListCondition.getSelectedValue().toString(); 

    for(String c: conditionList)
    {
        if(conString.compareTo(c) == 0)
        {
            String temp = entConName.getText();
            c = temp;
            //edit the Condition jList model
            int x = condListModel.indexOf(conString);
            condListModel.setElementAt(temp, x);
            jListCondition.setModel(condListModel);
            //edit the Condition comboBox model
            int i = conditionModel.getIndexOf(conString);
            conditionModel.insertElementAt(temp, i);
            conditionModel.removeElement(conString);
            entCondition.setModel(conditionModel);


            //reset buttons
            editConConfirm.setEnabled(false);
            editCon.setEnabled(false);
            deleteCon.setEnabled(false);
            entConName.setText("");
            addCon.setEnabled(true);
        }
    }

0 个答案:

没有答案