자바를 배우려고하는데 간단한 계산기를 만들려고합니다. 웬일인지 나는 TextField.setText()
위에서 NullPointerException
를 얻고있다.JTextField.setText() throwing 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)
, IT 및 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);
}
그리고 내 두 번째 클래스 석회질의
:여기 내 코드입니다. 내 System.out.println(result)
은 4
을 인쇄하지만 내 txtScreen.setText(""+result);
은 널 포인터 예외를 발생시킵니다.
어떤 도움이 필요합니까?
정확히 필요한 것입니다. 이제 txtScreen.setText (""+ result)를 얻을 수 없습니다. 텍스트를 설정합니다. 어떤 아이디어? –
어떻게 코드를 변경 했습니까? 오류는 무엇입니까? – fmucar
오류가 없습니다. 그것은 잘 실행, 그냥 doesnt txtScreen 변경. 내 var 결과를 5로 설정합니다. 결과를 인쇄하면 4가 인쇄되지만 txtScreen 텍스트는 변경되지 않습니다. 여기 내 두 줄을 : –