用ComboBox不理解这个NullPointerException

时间:2013-01-27 02:52:32

标签: java swing model nullpointerexception jcombobox

我无法理解为什么我得到这个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);
    }
}

2 个答案:

答案 0 :(得分:3)

modelName尚未初始化,因此它未指向对象。

你需要像

这样的东西
final JComboBox modelName = new JComboBox();

答案 1 :(得分:3)

final JComboBox modelName = null; // !!!!!

当你尝试使用这个变量时,你真的不应该想知道为什么会得到一个NPE:

modelName.setModel(termModel);