2012-04-19 68 views
2

我想在JTable的顶部打印一个特定的文本,但不是在第一页上的每个页面(而不是页眉)和/或文本在文本的末尾,但又不是作为每页的页脚,而是仅在JTable内容结束之后。带有前缀文本的JTable打印(不是页眉/页脚)

这怎么可能? 谢谢!

+1

你的意思是你只是想在包含你的表格的框架上下放置一个标签?你真的需要澄清你在找什么。 – Charles 2012-04-19 19:04:23

+0

是的,在桌子上方或下方的预定义文字不是在桌面上,而是在用户希望打印时在桌面上打印。 – Vagelism 2012-04-19 19:09:13

+0

听起来就像你只需要在桌子上面和下面添加一个JLabel。 – Charles 2012-04-19 19:10:41

回答

2

JTable有一个print()的版本,你可以使用一个例子。看看它的源代码。

public boolean print(PrintMode printMode, MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintRequestAttributeSet attr, boolean interactive, PrintService service)

还看getPrintable(...)方法JTable中,和javax.swing.TablePrintable类。你将不得不做一些自定义的打印代码,但TablePrintable是一个好的开始。有一个print()方法需要一个pageIndex,并且可以做类似的事情,但不要在每个页面上打印页眉和页脚。

+0

我使用jtable的打印方法来打印我的结果,效果很好。现在,他们只需要在这些resauls之前和之后添加一些文本,但不是在每个页面(如页脚或页眉)中。仅在开始和结束时。在任何教程中是否有示例代码?谢谢! – Vagelism 2012-04-19 20:08:27

+1

当我使用它时,我没有看到任何好的东西。真的JTable.print()和[TablePrintable]的代码(http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/javax/swing/TablePrintable.java# TablePrintable.print%28java.awt.Graphics%2Cjava.awt.print.PageFormat%2Cint%29)是最好的例子。它会帮助你理解如何去做你想做的事。 – Jim 2012-04-19 20:19:16