2011-04-25 3 views
1

현재 JFrame이 메모리에 저장된 JFrame이되도록하려고합니다. 지금은 올바르게 메모리에서 JFrame을 읽고 있는데 표시 할 수 있지만 모든 동작 수신기가 작동하지 않습니다.다른 JFrame에 JFrame 할당하기

 gui.dispose(); 
     gui = savedGUI; 
     gui.setVisible(true); 

현재 GUI (gui)를 저장된 버전 (savedGUI)으로 올바르게 설정하지 않은 것처럼 보입니다. setVisible보다는 gui에서 호출해야하는 다른 메서드가 있습니까?

미리 감사드립니다.

+1

왜이 작업을 수행하고 있습니까? 보기보다는 GUI의 모델 부분을 저장하는 것과 같이 수행하려는 작업을 수행하는 더 좋은 방법이 있다고 생각하기 때문에 전반적인 목적은 무엇입니까? –

+0

내가하려는 것은 메모리에서 GUI를로드하는 것뿐입니다. 저장된 때와 같습니다. – Alex

+2

응용 프로그램 모델의 상태를 저장 한 다음이 상태를 기반으로 GUI를 다시 만드는 것이 훨씬 더 효과적입니다. –

답변

1

문제는 해결되었다.

+1

JFrame을 메모리로 직렬화하는 이유는 무엇입니까? – camickr

0

나는 당신이하고있는 일을 정말로 이해하지 못합니다. 왜 단일 참조 변수로 GUI를 참조해야한다고 생각하십니까?

그냥 수행

savedGui.setVisible(false); 

우리는 다시 당신이 GUI를 표시 할 : 나는 모든 ActionListener를 직렬화 구현 확신했다 때

savedGui.setVisible(true); 
+0

저장된 GUI를 가시로 설정하면 GUI가 표시되지만 프로그램에 필수적인 모든 액션 수신기가 제거되었습니다. 이 사람은 같은 문제를 겪고있는 것 같습니다. http://compgroups.net/comp.lang.java.gui/Serialization-on-JFrame-action-listener-not-being-restore – Alex

+0

당신이 만들 때 청중을 잃지 않을 것입니다. Gui 보이지 않는. – camickr