2013-04-02 4 views
1

바닥 글 행 (각 열에 대한 데이터 합계가 포함됨)이있는 JTable (Java Swing)을 만들어야합니다.바닥 글이있는 JTable

특정 요구 사항은 다음과 같습니다 부모가 JScrollPane는 머리글과 바닥 글 (즉, 실제 데이터)

  • 표 열이없는 사이를 스크롤해야합니다

    • 바닥 글 (머리글 같이) 항상 표시됩니다 크기를 조정할 수 화면 해상도에 따라
    • (쉽게 일을해야하는) 테이블이 비슷한 질문을 읽고 수평 및/또는 수직

    스크롤 할 수

      :

       JPanel result = new JPanel(new BorderLayout()); 
           SessionTable sessionTbl = null; //This is a JTable 
           AbstractSessionTableModel sessionTableModel = null; 
           JScrollPane sessionScrollPane = null; 
      
      (...) 
      
           //Inits scrollpane 
           sessionScrollPane = new JScrollPane(sessionTbl); 
           sessionScrollPane.setPreferredSize(new Dimension(100, 50)); 
           sessionScrollPane.setBorder(BorderFactory.createEmptyBorder()); 
      
           //Adds tables 
           result.add(sessionScrollPane, BorderLayout.CENTER); 
      
           //Adds footer table (which is also contained in a JScrollPane and has the same columns than the main table) 
           result.add(createSessionFooterTable(sessionTableModel), BorderLayout.SOUTH); 
      

      불행하게도이 방법은이 문제 (그림 참조)가 : 가장 좋은 방법은 내가 무슨 짓을 기본 테이블 아래에 (단 1 행과) 두 번째 테이블을 추가 할 것 같다

    • 가로 스크롤은 주 테이블 만 이동합니다 (즉, 동일에서 2 표를 추가는) 다른 JScrollPane의에서 가로 스크롤 막대가 난 다음 다른 접근을 시도

    Screenshot

    2 개 테이블 사이에 나타나는

  • 때문에 바닥 글은 움직이지 JPanel를 공통의 JScrollPane에 추가하기 전에 불행하게도이 방법은 또한이 문제가 있습니다

    • 기본 테이블의 헤더가를 보이지 더 이상
    • 바닥 글 행이 스크롤의 일부 (즉, 항상 볼 수 없습니다)

    모든입니다 도움이나 힌트를 주시면 대단히 감사하겠습니다!

    감사합니다. 토마스

  • 답변

    2
    +0

    감사를 추가하지만 불행히도 코드의 조각은이 문제가 있습니다 : (1)을 가로 스크롤이 없습니다 (셀 너비가 사용 가능한 공간으로 조정되는 동안 i n 내 경우 셀 너비가 고정되어 있음) (2) 수직 스크롤이 나타나면 바닥 글이 테이블과 더 이상 정렬되지 않음 다른 아이디어 나 제안이 있으십니까? Thx – Tom

    +0

    두 JScrollBars를 함께 동기화, AdjustmentListener에 대한 코드를 작동 3-4 회 이상, [아마 내 게시물에 너무] (http://stackoverflow.com/search?q=user%3A714968+JScrollBars+AdjustmentListener) : -) – mKorbel