Java打印程序筹划全攻略[Java编程]
本文“Java打印程序筹划全攻略[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
前言
在我们的实际工作中,常常需求实现打印功效.但由于历史缘由,Java供应的打印功效一向都对比弱.实际上最初的jdk根本不支持打印,直到jdk1.1才引入了很轻量的打印支持.所以,在从前用Java/Applet/JSP/Servlet计划的程序中,较复杂的打印都是通过调用ActiveX/OCX控件大概VB/VC程序来实现的,非常麻烦.实际上,SUN公司也一向努力于Java打印功效的完善,而Java2平台则终于有了一个结实的打印情势的初阶,该打印情势与Java2D图形包充分结合成一体.更令人鼓舞的是,新公布的jdk1.4则供应了一套完好的"Java 打印服务 API" (Java Print Service API),它对已有的打印功效是主动的增补.操纵它,我们可以实现大部份实际利用需求,包含打印文字、图形、文件及打印预览等等.本文将通过一个具体的程序实例来阐明若何计划Java打印程序以实现这些功效,并对差别版本的实现办法举行解析对比,但愿大家能从中获得一些有益的提醒.
Java中的打印
1、Java的打印API
Java的打印API主要存在于java.awt.print包中.而jdk1.4新增的类则主要存在于javax.print包及其呼应的子包javax.print.event和javax.print.attribute中.此中javax.print包中主要包含打印服务的相关类,而javax.print.event则包含打印事件的相关定义,javax.print.attribute则包含打印服务的可用属性列表等.
2、若何实现打印
要产生一个打印,至少需求考虑两条:
需求一个打印服务对象.这可通过三种方法实现:在jdk1.4之前的版本,必必要实现java.awt.print.Printable接口或通过Toolkit.getDefaultToolkit().getPrintJob来获得打印服务对象;在jdk1.4中则可以通过javax.print.PrintSerivceLookup来查找定位一个打印服务对象.
需求开始一个打印工作.这也有几种实现办法:在jdk1.4之前可以通过java.awt.print.PrintJob(jdk1.1供应的,目前已经很罕用了)调用print或printAll办法开始打印工作;也可以通过java.awt.print.PrinterJob的printDialog显示打印对话框,然后通过print办法开始打印;在jdk1.4中则可以通过javax.print.ServiceUI的printDialog显示打印对话框,然后调用print办法开始一个打印工作.
3、打印机对话框
3.1 Printable的打印对话框
开始打印工作之前,可以通过PrinterJob.printDialog来显示一个打印对话框.它给用户一个机会以挑选应当打印的页码范围,并可供用户改变打印设置.它是一个本地对话框.
事实上,当从一个Printable对象举行一个打印工作时,打印对象并不知道需求打印多少页.它只是不断地调用print办法.只要print办法返回Printable.PAGE_EXISTS值,打印工作就不断地产生打印页,直到print办法返回Printable.NO_SUCH_PAGE时,打印工作才终止.
由于打印工作只有在打印完成后才举行精确的页数计算,所以在对话框上的页码范围是还没有初始化的[1,9999].我们可以通过构建一个java.awt.print.Book对象传送给打印对象;也可以通过指定的格局计算需求打印的页数并传送给打印对象,使其精确地知道要打印多少页.
以上是“Java打印程序筹划全攻略[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |