2010-11-19 2 views
3

3 개의 창이있는 패널을 사용하여 선택 영역에 따라 다음 창에서 동적으로 버튼을 만들 수 있습니다. 마지막 버튼을 클릭하면 가져온 데이터 테이블이 표시됩니다. SQL 쿼리를 통해 최대 :JScrollPane을 지울 수는 있지만 테이블을 '부착 할 수 없습니다.

[buttonPane1] [buttonPane2] [buttonPane3] [표] 사용자가 3 창에 버튼을 클릭 한 후 buttonpanel1에 그들의 선택을 변경하고자하는 경우

, 그것은 나타납니다 buttonpanel2에서 선택 사항을 사용하여 사용하기

buttonPanel3.removeAll(); 
buttonPanel3.repaint(); 

세 번째 버튼 패널을 지울 수 있는데, 내 문제는 테이블을 지우는 방법입니다. 그러나 테이블 ScrollPanel에서 제거하려고합니다.

tableScrollPanel.removeAll(); 

표가 표시되지 않는다는 것을 의미합니다. 나는이 만들고 테이블

jTableTemp.setModel(new DefaultTableModel(
        tableContent, tableTitles)); 
tableScrollPanel.setViewportView(jTableTemp); 
를 '연결'을하고있는 중이 야 '다시 연결'할 테이블을 현재의 모든 테이블을 제거하지만, 허용 할 수 있습니다 방법

정말 감사합니다

+0

'DefaultTableModel'에 대한 참조를 유지하고 removeRow (i)로 제거하지 않는 이유는 무엇입니까? – khachik

+0

표준 Java 명명 규칙을 사용하는 방법을 학습합니다. 예를 들어 변수 이름 대문자로 시작하지 마십시오. – camickr

+0

죄송합니다. 명명 규칙을 사용하고 있습니다. 다만이를 변경하고 우연히 대문자를 사용했습니다. – jaz9090

답변

2

테이블을 설정하십시오 모델을 빈 데이터와 원본 헤더가있는 DefaultTableModel에 매핑 한 다음 다시 그립니다. JTable을 감싸는 JScollPane이있는 한, 원하는 것으로 가정하면 헤더가 표시되어야합니다.

다른 방법으로 뷰포트를 새 헤더가있는 JTable의 새 인스턴스로 설정할 수 있습니다.

+0

빈 데이터와 원래 헤더가있는 DefaultTableModel에 테이블 모델을 설정 한 다음 포함 된 ScrollPanel에서 ViewPortView로 설정하여 매력처럼 작동했습니다! – jaz9090

관련 문제