无论采用哪种语言来开发应用系统,打印功能总是少不了的。为了节省Java程序开发人员的工作量,在Java语言中专门提供了一个PrinterJob类来帮助开发人员实现打印控制的功能。

本文将给大家介绍一下如何使用PrintJob类来实现打印作业。

一、PrinterJob类的功能。

在Java语言中,实现打印控制的类也很多。但是笔者比较倾向于使用这个PrintJob类。它是在Java语言中控制打印作业的主要类。开发人员在编写代码的时候,可以调用这个类中的方法来完成一些打印功能。如实现设置添加打印任务、打开打印对话框、执行页面打印等等作业。一般来说,通过这个类就可以实现大部分的打印作业。不过需要注意的是,这个类是用来实现一些普通的打印功能。如果涉及到比较特殊的打印指令,虽然通过方法重构等手段也可以实现,但是比较复杂。在Java语言(Java语言中定义常量注意事项解析)中针对特殊的打印选项,也有一些对应的类。所以在开发打印功能的时候,这个PrinterJob类是最基础的类。在了解了这个类之后,再去适当了解其他的一些特殊的打印类。如此的话,程序开发人员才能够以最少的代码、最少的时间来实现比较复杂的打印控制。特别是用户有一些比较特殊的打印需求时,结合其他的类可以达到事半功倍的效果。如果从零开始来开发新方法,那是得不偿失了。程序开发人员即使不能够记住Java语言中所有的打印类,也必须要对他们有一个大概的印象。至少当用户提出某个打印需求时,需要知道在Java语言的类中是否有与之相对应的类。然后再通过查询相关的资料来调用这个类。(子类如何青处于蓝而胜于蓝)

二、使用PrintJob对象。

跟其他类一样,如果需要使用这个PrintJob类的话,则需要先利用这个类来创建打印对象。不过程序开发人员需要注意的是,这个PrintJob类采用的是单例模式,也就是说,他必须通过静态方法来获取唯一的实例。如一般情况下,我们程序开发人员可以采用如下的语句来创建对象:PrintJob pjob=PringJob.getPrinterJob()。一但执行这条语句,就会创建PringJob类的实例对象。注意这个方法必须是静态的。当这个实例对象创建之后,在程序中这个对象就是唯一的。在其他模块或者以后需要再次调用这个方法时,就可以直接引用这个对象的方法,而不需要再次创建。这就是静态方法所带来的好处。由于各个模块采用相同的打印方法,这也会后续的打印队列等功能提供了实现了可能性。

三、调用PringJob对象的常见方法。

在PringJob类中,定义了很多的方法,如设置打印任务名称、设置打印页面、追踪打印状态等等。所以作为Java程序开发人员是一件很开心的事情。因为在开发打印功能的时候,基本上只需要直接引用类中的方法即可,而很少需要重新开发新的功能。

当有多个文档在打印的时候,在打印窗口可以看到有多个待打印的文档在排队。这是通过setJobName方法来实现的。PrinterJob类可以调用访问打印任务名称的属性,这个属性就是现实在打印任务列表中的相关打印任务。在这个类中,设置打印任务主要是通过setJobName方法来实现的。这个方法会接收String类型的字符串作为其参数,然后会利用这个参数的值作为打印任务的名称。不过这个方法只是在打印窗口中显示打印的名称,那么这个打印的名称到底是什么呢?此时就需要用到另外一个方法 getJobName方法。如使用String printname=pjop.getJopName()语句,来获得打印的名称。当调用这个方法时,会返回一个字符串类型的值,它就是打印窗口中显示的打印名称。利用这个方法获得这个打印名称的值之后,再将其传递给setJobName方法,就可以让打印窗口显示打印的名称了。所以,这两个方法,一是获取打印的名子,二是将打印的方法显示在打印窗口中,他们往往是同时出现的,相互配合实现这一组功能。这里需要注意的是,在使用getJopName()成员方法获得打印任务的名称时,一般情况下就显示打印文档的名子。但是如果用户有特殊的要求,如在一些共享打印服务器或者网络打印服务器中,除了要显示打印文档的名字,

java printerjob打印_利用PrinterJob类实现打印控制相关推荐

  1. python如何自动打印_利用Python每天自动打印练习题

    在日常教学工作中,我几乎每天都会给班上的每位同学打印一份口算练习题.为了防止出现抄袭的现象,给每位同学的练习题都不相同. 通过网上下载的一个小软件自动生成的练习题. 之前的操作是通过网上下载的软件,自 ...

  2. JAVA 佳博热敏打印机利用TSCLIB.dll动态链接库打印物料条码

    JAVA 佳博热敏打印机利用TSCLIB.dll动态链接库打印物料条码 准备 1.TSCLIB.dll (下载版本与jdk版本一致,32位/64位) 2.佳博热敏打印机一台(或其他tsc系列打印机) ...

  3. java invoke 泛型_利用Java反射机制和泛型,全自动解析json

    有啦这个简直,太爽啦, 利用Java 反射机制,利用Class 就可以得到 类的 变量  Field[] fields=cls.getDeclaredFields(); 还可以通过类中 的方法名字 去 ...

  4. java post 注册_利用JAVA发送POST请求(垃圾注册就是这么产生的) | 学步园

    大伙都知道利用JAVA的net包的URL类和 URLConnection可以得到网页源代码(这个应该是蜘蛛程序的锥形吧),但是向网页发送数据怎么办呢,GET请求很好处理,直接在网址后面加参数就可以了, ...

  5. java enum 父类_枚举基类Enum详解

    本文主要是对枚举类型的基类Enum类做一个介绍: 首先,Enum类位于java.lang包下,根据类的介绍可以发现,Enum类是Java中所有枚举类的父类,将枚举作为一个set或者Map的keys来使 ...

  6. python矩形打印_【Python】旋转打印各种矩形

    打印旋转矩阵应该是很经典的算法问题了.题目描述如下: 给定一个m * n要素的矩阵.按照螺旋顺序,返回该矩阵的所有要素. 思路:1,先定义矩阵的左上和右下的坐标,然后通过两个坐标来打印这一圈矩阵: 2 ...

  7. 利用itext包实现java报表打印_利用iText包实现Java报表打印

    在信息系统应用中,报表处理一直起着比较重要的作用.Java报表制作中最常使用的是iText组件,它是一种生成PDF报表的Java组件.本文讨论两种形式的PDF报表处理,一种是通过程序对象生成整个PDF ...

  8. java 清空控制台_利用原生库和JNI(Java原生接口)实现H2数据库漏洞利用

    在H2数据库引擎中获取代码执行权限的技术早已是众所周知,但有个要求就是H2能够动态编译Java代码.而本文将向大家展示以前没有公开过的利用H2的方法,并且无需使用Java编译器,即通过原生库和JNI( ...

  9. java jmap 分析_利用java虚拟机的工具jmap分析java内存情况

    有时候碰到性能问题,比如一个java application出现out of memory,出现内存泄漏的情况,再去修改bug可能会变得异常复杂,利用工具去分析整个java application 内 ...

最新文章

  1. 不要以为用了云,就不要运维
  2. mysql检查备份数据脚本并在zabbix上告警
  3. css怎么设置圆角背景,CSS新特性:圆角边框多栏Gird布局背景设置
  4. 互掐!美团“抛弃”支付宝,背后的真相到底是啥?
  5. 在FSM模型中使用两态数据类型
  6. 【BIM入门实战】Revit2018项目模板、族库图文安装教程
  7. java web启动socket_javaweb启动时启动socket服务端代码实现
  8. KDD'21 | 揭秘Facebook升级版语义搜索技术
  9. IBM大中华区总架构师:话说程序员的职业生涯
  10. sql数据库身份验证登录
  11. 世界各国各地区名称代码对应表
  12. Java POI word常用方法 在Cell插入子表格
  13. 使用antd-design-vue配合vue框架搭建项目使用组件显示英文的解决办法
  14. 深入解析Tensor索引中的Indexing Multi-dimensional arrays问题
  15. 2022:OFA: Unifying Architectures, Tasks, and Modalities through A Simple S2s Learning Framework
  16. try(){}的简单理解
  17. java8解析带有 AM/PM 的12小时制 时间字符串
  18. python+windows11下切换输入法
  19. 216×4说说竖式每一步的意思_52除以4 说说每一步的意思
  20. 六个office免费学习的精品教程 office自学教程让你从小白到高手

热门文章

  1. 三菱je -c中映射表的作用_linux内核页表映射机制:线性地址如何转为物理地址?...
  2. placement new 讲解
  3. 第 7 篇、Linux C基础 | 变量和常量
  4. 买了xbox的这两年
  5. python爬取B站网页排行榜数据(进阶版)
  6. 前端PS切片 常用不同格式图片区别
  7. 数据库--数据备份与恢复
  8. lsm mysql_一文了解数据库索引:哈希、B-Tree 与 LSM
  9. Linux应急响应之挖矿篇
  10. Substrate 基础教程(Tutorials) -- 模拟网络 添加可信节点