兰色精灵 发表于 2015-1-18 11:24:58

发布一篇Java打印程序计划全攻略

你说是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时,打印事情才中断。
因为打印事情只要在打印完成后才举行正确的页数盘算,以是在对话框上的页码局限是还没有初始化的。我们能够经由过程构建一个java.awt.print.Book对象传送给打印对象;也能够经由过程指定的格局盘算必要打印的页数并传送给打印对象,使其正确地晓得要打印几页。
<p>
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......

第二个灵魂 发表于 2015-1-21 05:38:15

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

若相依 发表于 2015-1-22 15:28:16

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

山那边是海 发表于 2015-1-26 14:04:04

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

金色的骷髅 发表于 2015-1-27 22:07:14

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

爱飞 发表于 2015-2-4 00:06:22

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

飘灵儿 发表于 2015-2-9 06:13:47

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

柔情似水 发表于 2015-2-10 05:35:06

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

活着的死人 发表于 2015-2-18 19:21:33

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

灵魂腐蚀 发表于 2015-3-6 09:01:55

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

变相怪杰 发表于 2015-3-12 22:55:25

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

老尸 发表于 2015-4-9 02:13:56

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
页: [1]
查看完整版本: 发布一篇Java打印程序计划全攻略