我正在尝试编写一个程序,它将从一个下拉框中获取输入,并使用它来计算另一个字段的下拉框,但我总是遇到问题。为了让它工作,我必须从JComboBox上删除所有的项目,然后再重新填充它,但这会导致程序抛出异常。
jbox1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
autoCalc();
String s = jbox1.getSelectedItem().toString();
workS.set1(s);
jbox2.removeAllItems();
for(int i = 0; i <= workS.jbox1.getSelectedItem; i++)
{
String temp = ("" + i);
jbox2.addItem(temp);
}
autoCalc();
}
});
jbox2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
autoCalc();
String s = jbox2.getSelectedItem().toString();
workS.set2(s);
autoCalc();
}
});据我所知,从jbox2中删除所有项都会调用jbox2操作侦听器,它会意识到该字段为空并抛出异常。有没有人有办法解决这个问题?
发布于 2012-09-03 13:58:21
保留添加到jbox2中的ActionListener的引用。在删除项目并填充新列表之前,删除模型填充新项目后的ActionListener和readd。
https://stackoverflow.com/questions/12240729
复制相似问题