Module java.desktop
Package java.awt

Class JobAttributes

java.lang.Object
java.awt.JobAttributes
所有实现的接口:
Cloneable

public final class JobAttributes extends Object implements Cloneable
一组控制打印作业的属性。

此类的实例控制使用该实例的每个打印作业的副本数量、默认选择、目的地、打印对话框、文件和打印机名称、页面范围、多文档处理(包括整理)、以及多页排版(如双面打印)。 属性名称尽可能符合Internet打印协议(IPP)1.1。 属性值在可能的情况下部分符合。

要使用接受内部类类型的方法,请传递内部类的常量字段之一的引用。 客户端代码无法创建内部类类型的新实例,因为这些类都没有公共构造函数。 例如,要将打印对话框类型设置为跨平台的纯Java打印对话框,请使用以下代码:

 import java.awt.JobAttributes;

 public class PureJavaPrintDialogExample {
     public void setPureJavaPrintDialog(JobAttributes jobAttributes) {
         jobAttributes.setDialog(JobAttributes.DialogType.COMMON);
     }
 }
 

每个支持attributeName-默认值的IPP属性都有相应的setattributeNameToDefault方法。 不提供默认值字段。

自 JDK 版本:
1.3
  • Constructor Details

    • JobAttributes

      public JobAttributes()
      使用每个属性的默认值构造一个JobAttributes实例。 对话框默认为DialogType.NATIVE。 最小页默认为1。 最大页默认为Integer.MAX_VALUE。 目的地默认为DestinationType.PRINTER。 选择默认为DefaultSelectionType.ALL。 副本数量默认为1。 多文档处理默认为MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_UNCOLLATED_COPIES。 两侧默认为SidesType.ONE_SIDED。 文件名默认为null
    • JobAttributes

      public JobAttributes(JobAttributes obj)
      构造一个与提供的JobAttributes副本相同的JobAttributes实例。
      参数:
      obj - 要复制的JobAttributes
    • JobAttributes

      public JobAttributes(int copies, JobAttributes.DefaultSelectionType defaultSelection, JobAttributes.DestinationType destination, JobAttributes.DialogType dialog, String fileName, int maxPage, int minPage, JobAttributes.MultipleDocumentHandlingType multipleDocumentHandling, int[][] pageRanges, String printer, JobAttributes.SidesType sides)
      使用指定的值构造一个JobAttributes实例。
      参数:
      copies - 大于0的整数
      defaultSelection - DefaultSelectionType.ALLDefaultSelectionType.RANGEDefaultSelectionType.SELECTION
      destination - DestinationType.FILEDestinationType.PRINTER
      dialog - DialogType.COMMONDialogType.NATIVEDialogType.NONE
      fileName - 可能为null的文件名
      maxPage - 大于零且大于或等于minPage的整数
      minPage - 大于零且小于或等于maxPage的整数
      multipleDocumentHandling - MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_COLLATED_COPIESMultipleDocumentHandlingType.SEPARATE_DOCUMENTS_UNCOLLATED_COPIES
      pageRanges - 两个元素的整数数组的数组;一个数组被解释为跨越所有页面的范围,包括和介于指定页面之间的页面;范围必须按升序排列,不能重叠;指定的页面号不能小于minPage也不能大于maxPage;例如:
                (new int[][] { new int[] { 1, 3 }, new int[] { 5, 5 },
                               new int[] { 15, 19 } }),
                
      指定页面1、2、3、5、15、16、17、18和19。 请注意,(new int[][] { new int[] { 1, 1 }, new int[] { 1, 2 } }) 是一组无效的页面范围,因为两个范围重叠
      printer - 可能为null的打印机名称
      sides - SidesType.ONE_SIDEDSidesType.TWO_SIDED_LONG_EDGESidesType.TWO_SIDED_SHORT_EDGE
      抛出:
      IllegalArgumentException - 如果违反上述条件之一或多个
  • Method Details

    • clone

      public Object clone()
      创建并返回此JobAttributes的副本。
      覆盖:
      clone 在类 Object
      返回:
      新创建的副本;可以安全地将此对象转换为JobAttributes
      参见:
    • set

      public void set(JobAttributes obj)
      将此JobAttributes的所有属性设置为与obj的属性相同的值。
      参数:
      obj - 要复制的JobAttributes
    • getCopies

      public int getCopies()
      返回应用程序应为使用这些属性的作业呈现的副本数量。 此属性将更新为用户选择的值。
      返回:
      大于0的整数。
    • setCopies

      public void setCopies(int copies)
      指定应用程序应为使用这些属性的作业呈现的副本数量。 不指定此属性等同于指定1
      参数:
      copies - 大于0的整数
      抛出:
      IllegalArgumentException - 如果 copies 小于或等于0
    • setCopiesToDefault

      public void setCopiesToDefault()
      设置应用程序应为使用这些属性的作业呈现的副本数为默认值。默认副本数为1。
    • getDefaultSelection

      public JobAttributes.DefaultSelectionType getDefaultSelection()
      指定应用程序是否应为使用这些属性的作业打印所有页面、由getPageRanges的返回值指定的范围,或当前选择。此属性将更新为用户选择的值。
      返回:
      DefaultSelectionType.ALL, DefaultSelectionType.RANGE, 或 DefaultSelectionType.SELECTION
    • setDefaultSelection

      public void setDefaultSelection(JobAttributes.DefaultSelectionType defaultSelection)
      指定应用程序是否应为使用这些属性的作业打印所有页面、由getPageRanges的返回值指定的范围,或当前选择。不指定此属性等同于指定DefaultSelectionType.ALL。
      参数:
      defaultSelection - DefaultSelectionType.ALL, DefaultSelectionType.RANGE, 或 DefaultSelectionType.SELECTION.
      抛出:
      IllegalArgumentException - 如果defaultSelection为null
    • getDestination

      public JobAttributes.DestinationType getDestination()
      指定输出将是打印机还是文件,用于使用这些属性的作业。此属性将更新为用户选择的值。
      返回:
      DestinationType.FILE 或 DestinationType.PRINTER
    • setDestination

      public void setDestination(JobAttributes.DestinationType destination)
      指定输出将是打印机还是文件,用于使用这些属性的作业。不指定此属性等同于指定DestinationType.PRINTER。
      参数:
      destination - DestinationType.FILE 或 DestinationType.PRINTER.
      抛出:
      IllegalArgumentException - 如果destination为null。
    • getDialog

      public JobAttributes.DialogType getDialog()
      返回是否应为使用这些属性的作业,用户应看到打印对话框以修改打印设置,并显示哪种类型的打印对话框。DialogType.COMMON表示跨平台的纯Java打印对话框。DialogType.NATIVE表示平台的本机打印对话框。如果平台不支持本机打印对话框,则显示纯Java打印对话框。DialogType.NONE指定无打印对话框(即后台打印)。此属性不能被修改,并且不受实现或目标打印机的任何限制。
      返回:
      DialogType.COMMON, DialogType.NATIVE, 或 DialogType.NONE
    • setDialog

      public void setDialog(JobAttributes.DialogType dialog)
      指定是否应为使用这些属性的作业,用户应看到打印对话框以修改打印设置,并显示哪种类型的打印对话框。DialogType.COMMON表示跨平台的纯Java打印对话框。DialogType.NATIVE表示平台的本机打印对话框。如果平台不支持本机打印对话框,则显示纯Java打印对话框。DialogType.NONE指定无打印对话框(即后台打印)。不指定此属性等同于指定DialogType.NATIVE。
      参数:
      dialog - DialogType.COMMON, DialogType.NATIVE, 或 DialogType.NONE.
      抛出:
      IllegalArgumentException - 如果dialog为null。
    • getFileName

      public String getFileName()
      指定使用这些属性的作业的输出文件名。此属性将更新为用户选择的值。
      返回:
      可能为null的文件名
    • setFileName

      public void setFileName(String fileName)
      指定使用这些属性的作业的输出文件名。默认值取决于平台且由实现定义。
      参数:
      fileName - 可能为null的文件名。
    • getFromPage

      public int getFromPage()
      返回,对于使用这些属性的作业,要打印的第一页,如果要打印一系列页面。此属性将更新为用户选择的值。应用程序在输出时应忽略此属性,除非getDefaultSelection方法的返回值为DefaultSelectionType.RANGE。如果可能的话,应用程序应优先考虑getPageRanges的返回值而不是此方法的返回值。
      返回:
      大于零且小于或等于toPage且大于或等于minPage且小于或等于maxPage的整数。
    • setFromPage

      public void setFromPage(int fromPage)
      指定,对于使用这些属性的作业,要打印的第一页,如果要打印一系列页面。如果未指定此属性,则使用pageRanges属性的值。如果指定了pageRangesfromPage和/或toPage中的一个或两个,则pageRanges优先。不指定pageRangesfromPagetoPage等同于调用setPageRanges(new int[][] { new int[] { minPage } })
      参数:
      fromPage - 大于零且小于或等于toPage且大于或等于minPage且小于或等于maxPage的整数。
      抛出:
      IllegalArgumentException - 如果违反上述条件之一或多个。
    • getMaxPage

      public int getMaxPage()
      指定用户可以指定为要打印的最后一页的最大值,用于使用这些属性的作业。此属性不能被修改,并且不受实现或目标打印机的任何限制。
      返回:
      大于零且大于或等于minPage的整数。
    • setMaxPage

      public void setMaxPage(int maxPage)
      指定用户可以指定为要打印的最后一页的最大值,用于使用这些属性的作业。不指定此属性等同于指定Integer.MAX_VALUE
      参数:
      maxPage - 大于零且大于或等于minPage的整数
      抛出:
      IllegalArgumentException - 如果违反上述条件之一或多个
    • getMinPage

      public int getMinPage()
      指定用户可以指定为要打印的第一页的最小值,用于使用这些属性的作业。此属性不能被修改,并且不受实现或目标打印机的任何限制。
      返回:
      大于零且小于或等于maxPage的整数。
    • setMinPage

      public void setMinPage(int minPage)
      指定用户可以指定为要打印的第一页的最小值,用于使用这些属性的作业。不指定此属性等同于指定1
      参数:
      minPage - 大于零且小于或等于maxPage的整数。
      抛出:
      IllegalArgumentException - 如果违反上述条件之一或多个。
    • getMultipleDocumentHandling

      public JobAttributes.MultipleDocumentHandlingType getMultipleDocumentHandling()
      指定多个副本的处理方式,包括整理,用于使用这些属性的作业。此属性将更新为用户选择的值。
      返回:
      MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_COLLATED_COPIES 或 MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_UNCOLLATED_COPIES。
    • setMultipleDocumentHandling

      public void setMultipleDocumentHandling(JobAttributes.MultipleDocumentHandlingType multipleDocumentHandling)
      指定多个副本的处理方式,包括整理,用于使用这些属性的作业。不指定此属性等同于指定MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_UNCOLLATED_COPIES。
      参数:
      multipleDocumentHandling - MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_COLLATED_COPIES 或 MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_UNCOLLATED_COPIES。
      抛出:
      IllegalArgumentException - 如果multipleDocumentHandling为null。
    • setMultipleDocumentHandlingToDefault

      public void setMultipleDocumentHandlingToDefault()
      将使用这些属性的作业的多个副本的处理方式,包括整理,设置为默认值。默认处理方式为MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_UNCOLLATED_COPIES。
    • getPageRanges

      public int[][] getPageRanges()
      指定,对于使用这些属性的作业,要打印的页面范围,如果要打印一系列页面。所有范围数字都是包含的。此属性将更新为用户选择的值。应用程序在输出时应忽略此属性,除非getDefaultSelection方法的返回值为DefaultSelectionType.RANGE。
      返回:
      由2个元素的整数数组组成的整数数组。一个数组被解释为跨越所有页面的范围,包括和介于指定页面之间的页面。范围必须按升序排列,不能重叠。指定的页面号不能小于minPage也不能大于maxPage。例如:(new int[][] { new int[] { 1, 3 }, new int[] { 5, 5 }, new int[] { 15, 19 } }),指定页面1、2、3、5、15、16、17、18和19。
    • setPageRanges

      public void setPageRanges(int[][] pageRanges)
      指定,对于使用这些属性的作业,要打印的页面范围,如果要打印一系列页面。所有范围数字都是包含的。如果未指定此属性,则使用fromPagetoPages属性的值。如果指定了pageRangesfromPage和/或toPage中的一个或两个,则pageRanges优先。不指定pageRangesfromPagetoPage等同于调用setPageRanges(new int[][] { new int[] { minPage, minPage } })
      参数:
      pageRanges - 一个包含2个元素的整数数组的数组。一个数组被解释为跨越所有页面的范围,包括并介于指定页面之间。范围必须按升序排列,不能重叠。指定的页面编号不能小于 minPage 也不能大于 maxPage。例如:(new int[][] { new int[] { 1, 3 }, new int[] { 5, 5 }, new int[] { 15, 19 } }),指定页面1, 2, 3, 5, 15, 16, 17, 18 和 19。请注意,(new int[][] { new int[] { 1, 1 }, new int[] { 1, 2 } }),是一个无效的页面范围集合,因为这两个范围重叠。
      抛出:
      IllegalArgumentException - 如果违反上述条件中的一个或多个。
    • getPrinter

      public String getPrinter()
      返回使用这些属性的作业的目标打印机。此属性将更新为用户选择的值。
      返回:
      可能为null的打印机名称。
    • setPrinter

      public void setPrinter(String printer)
      指定使用这些属性的作业的目标打印机。默认值取决于平台并且是实现定义的。
      参数:
      printer - 可能为null的打印机名称。
    • getSides

      public JobAttributes.SidesType getSides()
      返回使用这些属性的作业在打印介质的两侧应如何排列连续页面。SidesType.ONE_SIDED 将每个连续页面放在连续介质页的同一侧。这种排列有时称为 simplex。SidesType.TWO_SIDED_LONG_EDGE 将每对连续页面放在连续介质页的正面和背面,使得介质上每对页面的方向对读者来说是正确的,就像为了在长边装订一样。这种排列有时称为 duplex。SidesType.TWO_SIDED_SHORT_EDGE 将每对连续页面放在连续介质页的正面和背面,使得介质上每对页面的方向对读者来说是正确的,就像为了在短边装订一样。这种排列有时称为 tumble。此属性将更新为用户选择的值。
      返回:
      SidesType.ONE_SIDED、SidesType.TWO_SIDED_LONG_EDGE 或 SidesType.TWO_SIDED_SHORT_EDGE。
    • setSides

      public void setSides(JobAttributes.SidesType sides)
      指定使用这些属性的作业在打印介质的两侧应如何排列连续页面。SidesType.ONE_SIDED 将每个连续页面放在连续介质页的同一侧。这种排列有时称为 simplex。SidesType.TWO_SIDED_LONG_EDGE 将每对连续页面放在连续介质页的正面和背面,使得介质上每对页面的方向对读者来说是正确的,就像为了在长边装订一样。这种排列有时称为 duplex。SidesType.TWO_SIDED_SHORT_EDGE 将每对连续页面放在连续介质页的正面和背面,使得介质上每对页面的方向对读者来说是正确的,就像为了在短边装订一样。这种排列有时称为 tumble。不指定此属性等同于指定 SidesType.ONE_SIDED。
      参数:
      sides - SidesType.ONE_SIDED、SidesType.TWO_SIDED_LONG_EDGE 或 SidesType.TWO_SIDED_SHORT_EDGE。
      抛出:
      IllegalArgumentException - 如果 sides 为null。
    • setSidesToDefault

      public void setSidesToDefault()
      将使用这些属性的作业在打印介质的两侧应如何排列连续页面设置为默认值。默认排列为 SidesType.ONE_SIDED。
    • getToPage

      public int getToPage()
      返回,对于使用这些属性的作业,要打印的最后一页(包括在内)。此属性将更新为用户选择的值。应用程序在输出时应忽略此属性,除非 getDefaultSelection 方法的返回值为 DefaultSelectionType.RANGE。如果可能的话,应用程序应优先考虑 getPageRanges 方法的返回值而不是此方法的返回值。
      返回:
      大于零且大于或等于 toPage 且大于或等于 minPage 且小于或等于 maxPage 的整数。
    • setToPage

      public void setToPage(int toPage)
      指定,对于使用这些属性的作业,要打印的最后一页(包括在内)。如果未指定此属性,则使用 pageRanges 属性的值。如果指定了 pageRanges 和 fromPage 和/或 toPage 中的一个或两个,则 pageRanges 优先。不指定 pageRanges、fromPage 或 toPage 相当于调用 setPageRanges(new int[][] { new int[] { minPage } });
      参数:
      toPage - 大于零且大于或等于 fromPage 且大于或等于 minPage 且小于或等于 maxPage 的整数。
      抛出:
      IllegalArgumentException - 如果违反上述条件中的一个或多个。
    • equals

      public boolean equals(Object obj)
      确定两个 JobAttributes 是否相等。

      仅当它们的每个属性都相等时,两个 JobAttributes 才相等。枚举类型的属性仅当字段引用相同的唯一枚举对象时才相等。页面范围集合仅当集合长度相等,每个范围枚举相同页面,并且范围顺序相同时才相等。

      覆盖:
      equals 在类 Object
      参数:
      obj - 将检查其相等性的对象。
      返回:
      根据上述标准,obj 是否等于此 JobAttribute。
      参见:
    • hashCode

      public int hashCode()
      返回此 JobAttributes 的哈希码值。
      覆盖:
      hashCode 在类 Object
      返回:
      哈希码。
      参见:
    • toString

      public String toString()
      返回此 JobAttributes 的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      字符串表示形式。