2011-08-23 79 views
1

我有四个用户看起来像一个表的JTable。 (为什么选择四个而不是一个?这是一个很长的故事,但我们希望保持这种方式)打印这四张桌子的最佳方式是什么,所以它们仍然看起来像一张桌子?从Java打印JTables

print()方法并不真的让我们一起打印四张表吗?

我们还希望在顶部添加一个图例以及关于表格的一些描述性信息。

+0

我会创建一个表模型,它实现一个javax.swing.table.TableModel并包含里面的四个实际表,然后将其提供给一个jtable以显示给用户。然后我可以打印相同的jtable。如果工作太多,那么另一种方法是将包含表格的面板渲染为图像文件(这就像拍摄快照)。如果你想走这条路线,我可以发布代码将几乎任何jcomponent绘制到图像文件。然后,您可以打印生成的图像。 –

回答

0

感谢您的回答!

我们找到了一个很好的解决方案!使用Flying Saucer XHTMLrenderer生成html/css页面。然后可以使用来自同一框架的XHTMLPanel查看该页面,并将其发送到Java的常规PrinterJob。