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個表
我然後嘗試過的另一種方法之間的水平滾動條:添加2表中的一個相同的JPanel,然後再將它們添加到常用的JScrollPane。不幸的是這種方法也有2個問題:
- 主表的標題是不再可見
- 尾行是滾動的部分(即它並不總是可見)
任何幫助或提示將不勝感激!
非常感謝! 托馬斯
感謝這表明這一點,但不幸的是一塊碼具有2個問題: (1)它沒有水平滾動(單元格寬度調整爲可用空間,而我ñ我的情況下單元格寬度固定) (2)當出現垂直滾動時,頁腳不再與表格對齊 任何其他想法/建議? Thx – Tom
將兩個JScrollBars同步在一起,有關AdjustmentListener的工作代碼有超過3-4次,[也許在我的帖子中也是](http://stackoverflow.com/search?q=user%3A714968+JScrollBars+AdjustmentListener): - ) – mKorbel