2013-04-02 72 views
1

我需要創建一個帶有頁腳行(將包含每列數據總和)的JTable(Java Swing)。帶頁腳的JTable

具體需求是:

  • 頁腳總是可見(如報頭):父JScrollPane中應該只頁眉和頁腳(即,實際數據)
  • 表列不可之間滾動調整大小(這將使事情變得更容易)
  • 根據屏幕分辨率,表可水平和/或垂直

滾動閱讀類似的問題,它看來,最好的辦法是到主表,這是我做的下面添加第二個表(只有1行):

 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); 

不幸的是這種方法有兩個問題(見圖片):

  • 水平滾動只移動主表(即頁腳是不動的,因爲它是在一個不同的JScrollPane中)
  • 出現的2個表

Screenshot

我然後嘗試過的另一種方法之間的水平滾動條:添加2表中的一個相同的JPanel,然後再將它們添加到常用的JScrollPane。不幸的是這種方法也有2個問題:

  • 主表的標題是不再可見
  • 尾行是滾動的部分(即它並不總是可見)

任何幫助或提示將不勝感激!

非常感謝! 托馬斯

回答

2
+0

感謝這表明這一點,但不幸的是一塊碼具有2個問題: (1)它沒有水平滾動(單元格寬度調整爲可用空間,而我ñ我的情況下單元格寬度固定) (2)當出現垂直滾動時,頁腳不再與表格對齊 任何其他想法/建議? Thx – Tom

+0

將兩個JScrollBars同步在一起,有關AdjustmentListener的工作代碼有超過3-4次,[也許在我的帖子中也是](http://stackoverflow.com/search?q=user%3A714968+JScrollBars+AdjustmentListener): - ) – mKorbel