私はJavaを学ぼうとしていますが、私は単純な電卓を作ろうとしています。何らかの理由で私はTextField.setText()
にNullPointerException
を得ています。JTextField.setText()throw NullPointerException
//sets values from calc GUI to local class vars
public void setVals(double n1, double n2, char c){
NUM1=n1;
NUM2=n2;
CHAR=c;
}
//do the math
public double doCalc(){
switch (CHAR){
case '+':
RESULT = NUM1+NUM2;
break;
}
return RESULT;
}
わかりましたが...ので、私はそれを送信values(2,2)
、それとc.doCalc()
戻り4
:
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new CalcUI().setVisible(true);
}
});
Calc c = new Calc();
c.setVals(2,2,'+');
result = c.doCalc();
//need to setText(String.valueOf(c.doCalc()))
txtScreen.setText(""+result);
System.out.println(result);
}
そして、私の第二のクラスのCalcで
:は、ここに私のコードです。私のSystem.out.println(result)
は4
を印刷しますが、私のtxtScreen.setText(""+result);
はnullポインタの例外を引き起こします。
助けが必要ですか?
これはまさに私が必要としていたものです。今私はtxtScreen.setText( "" + result)を得ることができません。テキストを設定します。何か案は? –
あなたはどのようにコードを変更しましたか、あなたは何を得ていますか? – fmucar
エラーはありません。それはうまく動作し、ちょうどtxtScreenを変更しません。私は私のvar結果を5に設定します。結果をプリントアウトすると、4が出力されますが、txtScreenのテキストは変更されません。ここに私の2つの行があります: –