Java Don';我无法理解ComboBox的NullPointerException
我不明白为什么我会得到这个NullPointerException。我从外观大不相同的代码开始(并改进到您看到的代码),所有这些都是为了修复这个bug,但我就是不知道发生了什么 非常感谢所有帮助:Java Don';我无法理解ComboBox的NullPointerException,java,swing,model,nullpointerexception,jcombobox,Java,Swing,Model,Nullpointerexception,Jcombobox,我不明白为什么我会得到这个NullPointerException。我从外观大不相同的代码开始(并改进到您看到的代码),所有这些都是为了修复这个bug,但我就是不知道发生了什么 非常感谢所有帮助: final JComboBox modelName = null; //Model ComboBoxModel final DefaultComboBoxModel termModel = new DefaultComboBoxModel(new String[]{ "Choose One.
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);
}
}
modelName
尚未初始化,因此它不指向对象
你需要像这样的东西
final JComboBox modelName = new JComboBox();
当您尝试使用此变量时,您真的不应该奇怪为什么会得到NPE:
modelName.setModel(termModel);
边学习边学习。。。我以为“modelName.setModel(termModel);”会覆盖“null”。@WizardKnight:那(或任何东西)会如何覆盖null?必须先用引用初始化变量,然后才能使用它,就像我说的,边做边学。这个论坛实际上是一个巨大的帮助。再次感谢你在我学习的过程中。。。我认为“modelName.setModel(termModel);”会覆盖“null”。非常感谢,我想我已经盯着这个太久了,这真的是在打每个人的脸,除了我:)Swing标签被删除了,因为这个问题与Swing无关,而与基本Java有关。
modelName.setModel(termModel);