快速业务通道

java实现打印的实例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25
框中选择字体(并且我们会注意到很多有用的字体在Java 1.1版中一直受到严格的限制,我们没有任何可以利用的优秀字体安装在我们的机器上)。它使用这些字体去打出粗体,斜体和不同大小的文字。另外,一个新型组件调用过的绘图被创建,以用来示范图形。当打印图形时,绘图拥有的ring将显示在屏幕上和打印在纸上,并且这三个衍生类Plot1,Plot2,Plot3用不同的方法去完成任务以便我们可以看到我们选择的事物。同样,我们也能在一个绘图中改变一些ring——这很有趣,因为它证明了Java 1.1版中打印的脆弱。在我的系统里,当ring计数显示“too high”(究竟这是什么意思?)时,打印机给出错误信息并且不能正确地工作,而当计数给出“low enough”信息时,打印机又能工作得很好。我们也会注意到,当打印到看起来实际大小不相符的纸时页面的大小便产生了。这些特点可能被装入到将来发行的Java中,我们可以使用这个程序来测试它。这个程序为促进重复使用,不论何时都可以封装功能到内部类中。例如,不论何时我想开始打印工作(不论图形或文字),我必须创建一个PrintJob打印工作对象,该对象拥有它自己的连同页面宽度和高度的图形对象。创建的PrintJob打印工作对象和提取的页面尺寸一起被封装进PrintData class打印类中。1. 打印文字打印文字的概念简单明了:我们选择一种字体和大小,决定字符串在页面上存在的位置,并且使用Graphics.drawSrting()方法在页面上画出字符串就行了。这意味着,不管怎样我们必须精确地计算每行字符串在页面上存在的位置并确定字符串不会超出页面底部或者同其它行冲突。如果我们想进行字处理,我们将进行的工作与我们很相配。ChangeFont封装进少量从一种字体到其它的字体的变更方法并自动地创建一个新字体对象和我们想要的字体,款式(粗体和斜体——目前还不支持下划线、空心等)以及点阵大小。它同样会简单地计算字符串的宽度和高度。当我们按下“Print text”按钮时,TBL接收器被激活。我们可以注意到它通过反复创建ChangeFont对象和调用drawString()来在计算出的位置打印出字符串。注意是否这些计算产生预期的结果。(我使用的版本没有出错。)2. 打印图形按下“Print graphics”按钮时,GBL接收器会被激活。我们需要打印时,创建的PrintData对象初始化,然后我们简单地为这个组件调用print()打印方法。为强制打印,我们必须为图形对象调用dispose()处理方法,并且为PrintData对象调用end()结束方法(或改变为为PrintJob调用end()结束方法。)这种工作在绘图对象中继续。我们可以看到基础类绘图是很简单的——它扩展画布并且包括一个中断调用ring来指明多少个集中的ring需要画在这个特殊的画布上。这三个衍生类展示了可达到一个目的的不同的方法:画在屏幕上和打印的页面上。Plot1采用最简单的编程方法:忽略绘画和打印的不同,并且过载paint()绘画方法。使用这种工作方法的原因是默认的print()打印方法简单地改变工作方法转而调用Paint()。但是,我们会注意到输出的尺寸依赖于屏幕上画布的大小,因为宽度和高度都是在调用Canvas.getSize()方法时决定是,所以这是合理的。如果我们图像的尺寸一值都是固定不变的,其它的情况都可接受。当画出的外观的大小如此的重要时,我们必须深入了解的尺寸大小的重要性。不凑巧的是,就像我们将在Plot2中看到的一样,这种方法变得很棘手。因为一些我们不知道的好的理由,我们不能简单地要求图形对象以它自己的大小画出外观。这将使整个的处理工作变得十分的优良。相反,如果我们打印而不是绘画,我们必须利用RTTI instanceof关键字(在本书11章中有相应描述)来测试PrintGrapics,然后下溯造

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号