我收到错误“局部变量框是从内部类内部访问的;需要声明为最终的”。这看起来不错,但我真的不认为这是最好的解决方案,所以我希望其他人可以帮助我。这是我的代码:
public void showPublisherBox(JComboBox box) {
if (publisherBox == null) {
publisherBox = new AddPublisherForm();
publisherBox.setLocationRelativeTo(this);
}
publisherBox.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
this.populatePublishers(box);
}
private void populatePublishers(JComboBox box){
box.setModel(db.getPublishers());
}
});
publisherBox.setVisible(true);
}
发布者表单只是一个新的 JFrame,它打开并接收一些信息,当它关闭时,我希望通过从 db.getPublishers() 方法设置模型来重新填充 JComboBox。
那么有没有更好的方法来完成我在这里所做的事情,或者我是否必须宣布某些内容为最终版本?
Thanks
既然你不修改box
在外部代码中,使用final
正是correct解决这个问题的方法。这是对你自己(和编译器)的承诺,box
在封闭范围内不会改变。编译器会告诉你如果你违背了这个承诺。
使用时没有编译时间或运行时成本final
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)