2011-03-24 3 views
1

Java에 익숙하지 않으므로 도움을 주시면 감사하겠습니다 ... 미리 감사드립니다.새 JFrame-2에서 Jtrame 내용을 기본 JFrame-1에 표시 한 후에 어떻게 유지할 수 있습니까?

JFrame-1은 JTable 및 JEditorPane으로 분할됩니다. JFRame-1에서 발생하는 이벤트가 발생하면 새 JFrame-2를 만듭니다. JFrame2에는 JSplitPane (2 개의 JTables (1 & 2) 및 1 개의 JEditorPane)이 구현되어 있습니다. JTabel의 내용을 frame-1에서 frame-2의 Jtabel2로 복사하자마자. 테이블은 프레임 -1에서 사라집니다. 어떻게 프레임 1과 프레임 2에서 테이블의 내용을 유지할 수 있습니까? 이것은 프레임 -2의 창을 분할하는 데 사용한 코드이며 디버깅하는 동안 프레임 -1의 테이블 (m_clsJTable)이 삭제됩니다.

JSplitPane top = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new JScrollPane(clsNewJTable), new JScrollPane(m_clsJTable)); 
     JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, top, new JScrollPane(m_clsJEditorPane)); 

답변

2

동일한 구성 요소를 두 개의 다른 컨테이너에 넣을 수 없습니다. 두 컨테이너가 일부 데이터의 동일한 뷰를 가지게하려면 각 컨테이너에 대해 별도의 뷰 클래스를 작성하고 둘 모두 동일한 모델을 공유하도록해야합니다.

+0

+1이 관련 [예제] (http://stackoverflow.com/questions/2614457)에서는 스크롤을 동기화하는 방법에 대해서도 설명합니다. – trashgod

+0

이제 Frame-1에서 테이블을 비우는 이유를 알았습니다. 각각에 대한 뷰 클래스를 분리하려면 이것을 설명하거나이 점을 언급하는 부분을 알려주십시오. 고맙습니다! – rkbdi

+0

@trashgod : 죄송합니다. 예제에는 각 뷰에 대해 하나의 모델이 있습니다. @rkbdi : 두보기 모두에서 하나의 모델에서만 작동한다고 생각합니다. –

관련 문제