我无法理解为什么我得到这个NullPointerException。我开始使用不同的外观代码(并改进到你所看到的)所有尝试修复错误,我只是无法弄清楚发生了什么。
非常感谢所有帮助:
final JComboBox modelName = null;
//Model ComboBoxModel
final DefaultComboBoxModel termModel = new DefaultComboBoxModel(new String[]{
"Choose One...", "Hypercom", "DejaVoo", "Nurit", "Verifone"});
...
// model drop-down
modelName.setModel(termModel); //getting nullPointerException on this line
modelName.addActionListener(this);
modelPanel.add(modelName);
...
@Override
public void actionPerformed(ActionEvent e) {
if ("Hypercom".equals(modelName.getSelectedItem())){
termName.setModel(hSpecModel);
} else if ("Deja Voo".equals(modelName.getSelectedItem())){
termName.setModel(dSpecModel);
} else if ("Nurit".equals(modelName.getSelectedItem())){
termName.setModel(nSpecModel);
} else if ("Verifone".equals(modelName.getSelectedItem())){
termName.setModel(vSpecModel);
} else {
termName.setModel(slctAbove);
}
}
答案 0 :(得分:3)
modelName
尚未初始化,因此它未指向对象。
你需要像
这样的东西final JComboBox modelName = new JComboBox();
答案 1 :(得分:3)
final JComboBox modelName = null; // !!!!!
当你尝试使用这个变量时,你真的不应该想知道为什么会得到一个NPE:
modelName.setModel(termModel);