【发布时间】:2013-02-21 09:28:01
【问题描述】:
我正在努力以自己的方式打印 JTable。这是我在打印时想要获得的:
Page 1 Page 2 Page 3
| 1 2 3 | | 4 5 6 | | 7 8 9 |
|1 | |1 | |1 |
|2 | |2 | |2 |
|3 | |3 | |3 |
Page 4 Page 5 Page 6
| 1 2 3 | | 4 5 6 | | 7 8 9 |
|4 | |4 | |4 |
|5 | |5 | |5 |
|6 | |6 | |6 |
如您所见,我想在每一页上获取 tableHeader(我成功获取!),以及每一页上的行号。有没有人做过这样的事情?
这就是我的 JTable 的管理方式:
scrollPane = new JScrollPane();
scrollPane.setViewportView(table); // basic JTable
scrollPane.setRowHeaderView(rowTable); // basic JTable with only 1 column
tableHeader = table.getTableHeader(); //
scrollPane.setColumnHeaderView(tableHeader);
我尝试在javax.swing.TablePrintable 中执行类似操作,即每次剪辑时计算打印表格的位置,但没有成功:行号仅打印在第一页上。我有点绝望,有什么想法吗?
编辑:这里有一些图片(太大,无法在此处发布)显示我目前获得的内容以及我想要获得的内容:
-
第 1 页和第 2 页:http://i.imgur.com/euzeq70.png
如您所见,第二页上的行号应该相同,因为它是表格的左侧(表格的宽度适合 2 页)
-
第 3 页和第 4 页:http://i.imgur.com/YCFLu4X.png
桌子的中间部分。如您所见,现在行号不应该是
1 ... 49,而是50 ... 99,它们仍然不会显示在左侧页面上 -
第 5 和 6 页:http://i.imgur.com/4xugX4j.png
表格的底部。行号应为
100,并出现在左侧页面上。
我希望现在更清楚了。
【问题讨论】:
-
您能发布您的打印代码吗?
-
有点大,所以没贴出来。实际上它非常接近
javax.swing.TablePrintable中的内容,我尝试在其上添加行号打印。 -
是的,可能重复,因为是我。这次我试图更清楚地解释我的问题。
-
你能上传一张照片吗?那会很有帮助
标签: java swing printing jtable awt