"Переключение" окон - Java
Формулировка задачи:
В общем проблема следующая: есть класс - окно программы калькулятора с использованием SWING. В этом же калькуляторе есть кнопка, которая отвечает за переход в так сказать "расширенный" режим инженерного калькулятора.
Задача: чтобы при переключении например с простого на инженерный - окно простого пропадало, а инженерного появлялось
Проблема : nullPointerException. Один раз с простого на инжереный( или наоборот) перейти можно, а на следующий раз - эксепшн.
Обьекты классов создал в телах классов следующим образом:
Код метода main простого калькулятора:
Код кнопки перехода простого калькулятора в инженерный:
Я думаю, что проблема в том, что у меня уничтожается обьект, с которого мы переходим, и потом доступ к нему является невозможным. Крутил уже как мог.
Прошу помощи, знатоки
private static frameCalc fc; private static ingCalc ig;
public static void main(String args[]){
fc = new frameCalc();
ig = new ingCalc();
fc.setVisible(true);
ig.setVisible(false);
}calc2.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
fc.setVisible(false);
ig.setVisible(true);
}
});Решение задачи: «"Переключение" окон»
textual
Листинг программы
frameCalc fc;
public ingCalc(frameCalc fc){
this.fc = fc;
}
calc1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
setVisible(false);
fc.setVisible(true);
}
});