目前我正在填充我的JComboBox:
countryBox = new JComboBox(countryList.toArray(new String[countryList.size()]));
但是,在使用我的程序时,countryList
会发生变化,我想以不同的方式填充我的JComboBox。我试图用这个动作改变我的JComboBox:
countryBox.addActionListener(new ActionListener() {
countryBox = new JComboBox(countryList.toArray(new String[countryList.size()]));
}
但是,它不会改变它的值。对我来说,countryBox似乎预先填充了之前的数据。任何建议我能做什么?
感谢您的回答!
答案 0 :(得分:7)
不要创建新的JComboBox
,创建新模型
DefaultComboBoxModel model = new DefaultComboBoxModel(countryList.toArray(new String[countryList.size()]));
countryBox.setModel(model);
您可以创建自己的ComboBoxModel
,可以代理您当前的List
,但这取决于您。
仔细查看How to Use Combo Boxes了解更多详情