java中的打印问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 13:01:21
一个窗体中含有很多组件,如何只打印其中的一些组件,java实现?
我有一个表,把它直接截图,然后设置成一个label的背景图片,然后在这张图片上要填数据的地方又加上了一些textField,看上去就是一个可以填数据的表,填好后,我想把这张“表”(label的背景图片和放在特定位置的textField)打印出来,请问如何实现?
急,谢谢
没用table

1、需要一个打印服务对象。这可通过三种方式实现:
在jdk1.4之前的版本,必须要实现java.awt.print.Printable接口
或通过Toolkit.getDefaultToolkit().getPrintJob来获取打印服务对象;
在jdk1.4中则还可以通过javax.print.PrintSerivceLookup来查找定位一个打印服务对象。
2、需要开始一个打印工作。这也有几种实现方法:在jdk1.4之前可以通过java.awt.print.PrintJob
(jdk1.1提供的,现在已经很少用了)调用print或printAll方法开始打印工作;
也可以通过java.awt.print.PrinterJob的printDialog显示打印对话框,
然后通过print方法开始打印;在jdk1.4中则可以通过javax.print.ServiceUI的printDialog显示打印对话框,
然后调用print方法开始一个打印工作。
设置打印属性
使用如下方法可以获得PrintJob的实例用于控制打印操作: Toolkit.getPrintJob(Frame f, String jobtitle, Properties prop) 那么对于打印属性的设置可以通过对prop的属性设置来实现,打印属性包括: awt.print.destination: 可以是"printer"或"file" awt.print.printer: 打印机名 awt.print.fileName: 打印文件名 awt.print.numCopies: 打印份数 awt.print.options: 打印命令的打印选项 awt.print.orientation: 打印方向,可以是"portrait"或"landscape" awt.print.paperSize: 纸张大小,可以是"letter","legal","executive"或"a4"

你可以再整个截个图 然后把图打印出来^^