Я пытаюсь изучить Java, и я пытаюсь сделать простой калькулятор. По какой-то причине я получаю NullPointerException
на своем TextField.setText()
.JTextField.setText() throwing NullPointerException
Вот мой код:
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:
//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
. Мой System.out.println(result)
печатает 4
, но мой txtScreen.setText(""+result);
вызывает исключение нулевого указателя.
Любая помощь?
Это именно то, что мне нужно. Теперь я не могу получить txtScreen.setText («+ результат»); для установки текста. Есть идеи? –
Как вы изменили код и что такое ошибка, которую вы получаете? – fmucar
Нет ошибок. Он работает нормально, он просто не меняет txtScreen. Я установил свой результат var var 5. Так что, если я распечатаю результат, он напечатает 4, но текст txtScreen не изменится. Вот мои две строки: –