Module  java.desktop
软件包  java.awt

Class JobAttributes

  • All Implemented Interfaces:
    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 -default值的每个IPP属性都具有相应的setattributeNameToDefault方法。 未提供默认值字段。

    从以下版本开始:
    1.3
    • 构造方法详细信息

      • 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.RANGE ,或 DefaultSelectionType.SELECTION
        destination - DestinationType.FILEDestinationType.PRINTER
        dialog - DialogType.COMMONDialogType.NATIVE ,或 DialogType.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 } }), 
        指定页面new int[][] { new int[] { 1, 1 }, new int[] { 1, 2 } }和19.注意( new int[][] { new int[] { 1, 1 }, new int[] { 1, 2 } } )是一组无效的页面范围,因为两个范围重叠
        printer - 可能的 null打印机名称
        sides - SidesType.ONE_SIDEDSidesType.TWO_SIDED_LONG_EDGE ,或 SidesType.TWO_SIDED_SHORT_EDGE
        异常
        IllegalArgumentException - 如果上述条件中的一个或多个被违反
    • 方法详细信息

      • clone

        public Object clone​()
        创建并返回此 JobAttributes的副本。
        重写:
        cloneObject
        结果
        新创建的副本; 将此对象转换为JobAttributes是安全的
        另请参见:
        Cloneable
      • 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 - 如果目的地为空。
      • getDialog

        public JobAttributes.DialogType getDialog​()
        返回对于使用这些属性的作业,用户是否应该看到要修改打印设置的打印对话框,以及应显示哪种类型的打印对话框。 DialogType.COMMON表示跨平台,纯Java打印对话框。 DialogType.NATIVE表示平台的本地打印对话框。 如果平台不支持本地打印对话框,则会显示纯Java打印对话框。 DialogType.NONE不指定打印对话框(即背景打印)。 该属性不能由实现或目标打印机修改,也不受任何限制。
        结果
        DialogType.COMMONDialogType.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 - 如果对话框为空。
      • getFileName

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

        public void setFileName​(String fileName)
        指定使用这些属性的作业的输出文件的文件名。 默认是平台依赖和实现定义。
        参数
        fileName - 可能为空的文件名。
      • getFromPage

        public int getFromPage​()
        对于使用这些属性的作业,如果要打印一系列页面,则返回要打印的第一页。 此属性更新为用户选择的值。 应用程序应忽略输出上的此属性,除非getDefaultSelection方法的返回值为DefaultSelectionType.RANGE。 如果可能,应用程序应遵守该方法的返回值为getPageRanges的返回值。
        结果
        大于零且小于或等于 toPage并大于或等于 minPage且小于或等于 maxPage的整数。
      • setFromPage

        public void setFromPage​(int fromPage)
        对于要使用这些属性的作业,如果要打印一系列页面,则指定要打印的第一页。 如果未指定此属性,则使用pageRanges属性中的值。 如果pageRanges和指定fromPage和toPage中的一个或两个,则优先使用pageRanges。 指定没有pageRanges,fromPage或toPage等价于调用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)
        对于使用这些属性的作业,指定要打印的页面范围,如果要打印的页面范围。 所有范围数字均包含在内。 如果未指定此属性,则使用fromPage和toPages属性的值。 如果pageRanges和指定fromPage和toPage中的一个或两个,则优先使用pageRanges。 指定没有pageRanges,fromPage或toPage等价于调用setPageRanges(new int [] [] {new int [] { minPageminPage }});
        参数
        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​()
        使用这些属性返回作业的目标打印机。 此属性更新为用户选择的值。
        结果
        可能为空的打印机名称。
      • setPrinter

        public void setPrinter​(String printer)
        使用这些属性指定作业的目标打印机。 默认是平台依赖和实现定义。
        参数
        printer - 可能为空的打印机名称。
      • getSides

        public JobAttributes.SidesType getSides​()
        返回在使用这些属性的作业的打印介质的两侧应该如何施加连续的页面。 SidesType.ONE_SIDED将每个连续的页面强加在连续媒体页面的同一侧。 这种拼法有时被称为单纯形 SidesType.TWO_SIDED_LONG_EDGE在连续的介质页的前后两侧将每个连续的页面加在一起,使得介质上的每对页面的方向对于读取器来说将是正确的,如同在长边缘上的装订一样。 这种拼法有时被称为双面 SidesType.TWO_SIDED_SHORT_EDGE在连续介质页的前后两侧将每个连续的页面强加,使得介质上的每对页面的方向对于读取器将是正确的,如同在短边上的装订一样。 这种拼法有时被称为滚滚 此属性更新为用户选择的值。
        结果
        SidesType.ONE_SIDED,SidesType.TWO_SIDED_LONG_EDGE或SidesType.TWO_SIDED_SHORT_EDGE。
      • setSides

        public void setSides​(JobAttributes.SidesType sides)
        指定在使用这些属性的作业的打印介质的两侧应如何施加连续的页面。 SidesType.ONE_SIDED将每个连续的页面强加在连续媒体页面的同一侧。 这种拼法有时被称为单纯形 SidesType.TWO_SIDED_LONG_EDGE在连续的介质页的前后两侧将每个连续的页面加在一起,使得介质上的每对页面的方向对于读取器来说将是正确的,如同在长边缘上的装订一样。 这种拼法有时被称为双面 SidesType.TWO_SIDED_SHORT_EDGE在连续介质页的前后两侧将每个连续的页面强加,使得介质上的每对页面的方向对于读取器将是正确的,如同在短边上的装订一样。 这种拼法有时被称为滚滚 不指定此属性等同于指定SidesType.ONE_SIDED。
        参数
        sides - SidesType.ONE_SIDED,SidesType.TWO_SIDED_LONG_EDGE或SidesType.TWO_SIDED_SHORT_EDGE。
        异常
        IllegalArgumentException - 如果边为空。
      • 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是相等的。 枚举类型的属性当且仅当这些域引用相同的唯一枚举对象时相等。 当且仅当集合长度相等时,一组页面范围是相等的,每个范围枚举相同的页面,范围是相同的顺序。

        重写:
        equalsObject
        参数
        obj - 将检查其相等性的对象。
        结果
        根据上述标准,obj是否等于此JobAttribute。
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString​()
        返回此JobAttributes的字符串表示形式。
        重写:
        toStringObject
        结果
        the string representation.