易截截图软件、单文件、免安装、纯绿色、仅160KB

Java打印程序设计全攻略

[转]Java打印程序设计全攻略
2008-12-07 18:43
前言
  在我们的实际工作中,经常需要实现打印功能。但由于历史原因,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来显示一个打印对话框。它给用户一个机会以选择应该打印的页码范围,并可供用户改变打


相关文档:

java Adapter模式


2009-08-19
转载 : http://yahaitt.javaeye.com/blog/453032
java Adapter模式
关键字: android adapter
通常,客户类(clients of class)通过类的接口访问它提供的服务。有时,现有的类(existing class)可以提供客户类的功能需要,但是它所提供的接口不一定是客户类所期望的。这是由于现有的接口太详细或者缺乏 ......

Java对象、引用

Java对象及引用
    Java对象及引用是容易混淆却又必须掌握的基础知识,本章阐述Java对象和引用的概念,以及与其密切相关的参数传递。
    先看下面的程序:
    StringBuffer s;
    s = new StringBuffer("Hello World!");
    第一个 ......

Java Calendar 获取本周周一和周日代码

/**
  * 得到本周周一
  *
  * @return yyyy-MM-dd
  */
 public static String getMondayOfThisWeek() {
  Calendar c = Calendar.getInstance();
  int day_of_week = c.get(Calendar.DAY_OF_WEEK) - 1;
  if (day_of_week == 0)
   da ......

JAVA的默认字符编码

大家都说java使用的字符集是unicode,那么默认编码不就是应该是UTF8,UTF16之类的unicode编码吗?
可是调用Charset.defaultCharset()的结果并非如此。
 import java.nio.charset.Charset;
public class javaCode {
public static void main(String args[])
{
String defaultCharsetName=Charset.defaultChars ......

java enum 讲解

原文地址:http://www.javaeye.com/topic/477731
版权声明:所有版权归原作者所有
枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。下面就是一个典型枚举类型的定义:
Java代码
public enum Color{   
    RED,BLUE,BLACK,YELLOW,GREEN  &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号