2

この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);
    }
}
4

2 に答える 2

3

modelName初期化されていないため、オブジェクトを指していません。

あなたは次のようなものが必要です

final JComboBox modelName = new JComboBox();
于 2013-01-27T02:54:10.963 に答える
3
final JComboBox modelName = null; // !!!!!

この変数を使おうとすると、なぜNPEを取得するのか不思議に思うべきではありません。

modelName.setModel(termModel);
于 2013-01-27T02:54:25.973 に答える