|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net网页编程性能上肯定会站上风的。
媒介
在我们的实践事情中,常常必要完成打印功效。但因为汗青缘故原由,Java供应的打印功效一向都对照弱。实践上最后的jdk基本不撑持打印,直到jdk1.1才引进了很轻量的打印撑持。以是,在之前用Java/Applet/JSP/Servlet计划的程序中,较庞大的打印都是经由过程挪用ActiveX/OCX控件大概VB/VC程序来完成的,十分贫苦。实践上,SUN公司也一向努力于Java打印功效的完美,而Java2平台则终究有了一个强健的打印形式的初步,该打印形式与Java2D图形包充实分离成一体。更使人鼓动的是,新公布的jdk1.4则供应了一套完全的"Java打印服务API"(JavaPrintServiceAPI),它对已有的打印功效是主动的增补。使用它,我们能够完成年夜部分实践使用需求,包含打印笔墨、图形、文件及打印预览等等。本文将经由过程一个详细的程序实例来讲明怎样计划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.1Printable的打印对话框
入手下手打印事情之前,能够经由过程PrinterJob.printDialog来显现一个打印对话框。它给用户一个时机以选择应当打印的页码局限,并可供用户改动打印设置。它是一个当地对话框。
现实上,当从一个Printable对象举行一个打印事情时,打印对象其实不晓得必要打印几页。它只是一直地挪用print办法。只需print办法前往Printable.PAGE_EXISTS值,打印事情就一直地发生打印页,直到print办法前往Printable.NO_SUCH_PAGE时,打印事情才中断。
因为打印事情只要在打印完成后才举行正确的页数盘算,以是在对话框上的页码局限是还没有初始化的[1,9999]。我们能够经由过程构建一个java.awt.print.Book对象传送给打印对象;也能够经由过程指定的格局盘算必要打印的页数并传送给打印对象,使其正确地晓得要打印几页。
<p>
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... |
|