java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.awt.print
接口 Printable


public interface Printable

Printable 接口由当前页面 painter 的 print 方法实现,该方法由打印系统调用,以呈现页面。构建 Pageable 时,PageFormat 实例和实现此接口的实例对用于描述每个页面。调用实现 Printable 的实例,以打印页面的图形。

PrinterJob 上可以设置 Printable(..)。当客户端随后通过调用 PrinterJob.print(..) 启动打印时,控制被传送到打印系统,直到所有的页面完成打印。这是通过调用 Printable.print(..) 直到文档中所有页面打印完成来实现的。使用 Printable 接口时,只要打印系统请求,该打印会将页面内容提交给图像。

Printable.print(..) 的参数包括描述该页面可打印区域(计算适合该页面的内容所需要的区域)的 PageFormat和页面索引(它指定请求页面的基于零打印流索引)。

对于正确的进行打印,应注意以下几点:

  • 打印系统可能多次请求页面索引。对于每种情况,都将提供等效的 PageFormat 参数。
  • 打印系统将使用单调递增的页面索引来调用 Printable.print(..),尽管上文已说明,Printable 应期望多次调用页面索引,并期望当客户端或用户通过打印对话指定页面范围时,可以跳过页面索引。
  • 如果请求文档的多次逐份打印,并且打印机本身不支持次行为,那么该文档可能成像多次。打印将从最低打印流页面索引页面启动每个副本。
  • 除了为多次逐份打印重新成像整个文档外,递增的页面索引顺序意味着当请求页面 N 时,如果客户端需要计算页面中断位置,则可以安全地丢弃任何与 < N 的页面相关的状态,并对页面 N 设置当前状态。在与页面起始部分对应的文档中,“状态”通常就是计算的位置。
  • 当被打印系统调用时,Printable 必须检查并遵照提供的 PageFormat 参数以及页面索引。这是正确进行打印的关键,它暗示客户端负责跟踪指定页面上所属的内容。
  • 从客户端提供的 Pageable 获取 Printable 时,该客户端可能为每个页面索引提供不同的 PageFormats。计算页面中断必须考虑到这一点。

另请参见:
Pageable, PageFormat, PrinterJob

字段摘要
static int NO_SUCH_PAGE
          从 print 返回,表示 pageIndex 太大以及请求的页面不存在。
static int PAGE_EXISTS
          从 print(Graphics, PageFormat, int) 返回,表示请求的页面被呈现。
 
方法摘要
 int print(Graphics graphics, PageFormat pageFormat, int pageIndex)
          将指定索引处的页面用指定格式打印到指定的 Graphics 上下文。
 

字段详细信息

PAGE_EXISTS

static final int PAGE_EXISTS
print(Graphics, PageFormat, int) 返回,表示请求的页面被呈现。

另请参见:
常量字段值

NO_SUCH_PAGE

static final int NO_SUCH_PAGE
print 返回,表示 pageIndex 太大以及请求的页面不存在。

另请参见:
常量字段值
方法详细信息

print

int print(Graphics graphics,
          PageFormat pageFormat,
          int pageIndex)
          throws PrinterException
将指定索引处的页面用指定格式打印到指定的 Graphics 上下文。PrinterJob 调用 Printable 接口,以请求将页面呈现到 graphics 指定的上下文。pageFormat 指定要绘制的页面的格式。pageIndex 指定请求页面的基于零的索引。如果请求的页面不存在,那么此方法会返回 NO_SUCH_PAGE;否则返回 PAGE_EXISTS。Graphics 类或子类实现 PrinterGraphics 接口,以提供附加信息。如果 Printable 对象中止该打印作业,那么它会抛出 PrinterException

参数:
graphics - 用来绘制页面的上下文
pageFormat - 正在绘制的页面的大小和方向
pageIndex - 要绘制的页面基于零的索引
返回:
如果成功呈现该页面,则返回 PAGE_EXISTS,如果 pageIndex 指定不存在的页面,则返回 NO_SUCH_PAGE。
抛出:
PrinterException - 打印作业被终止时抛出。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策