"Переключение" окон - 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); } });
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д