Module  java.desktop
软件包  java.awt

Class PageAttributes

  • All Implemented Interfaces:
    Cloneable


    public final class PageAttributes
    extends Object
    implements Cloneable
    一组控制打印页面输出的属性。

    该类的实例控制使用实例的每个页面的颜色状态,纸张尺寸(介质类型),方向,逻辑原点,打印质量和分辨率。 如果可能,属性名称符合Internet打印协议(IPP)1.1。 属性值在可能的情况下是部分兼容的。

    要使用一个接受内部类类型的方法,请将引用传递给内部类的一个常量字段。 客户端代码不能创建内部类类型的新实例,因为这些类都不具有公共构造函数。 例如,要将颜色状态设置为单色,请使用以下代码:

      import java.awt.PageAttributes;
    
     public class MonochromeExample {
         public void setMonochrome(PageAttributes pageAttributes) {
             pageAttributes.setColor(PageAttributes.ColorType.MONOCHROME);
         }
     } 

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

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

      • PageAttributes

        public PageAttributes​()
        为每个属性构造具有默认值的PageAttributes实例。
      • PageAttributes

        public PageAttributes​(PageAttributes obj)
        构造一个PageAttributes实例,它是提供的PageAttributes的副本。
        参数
        obj - 要复制的PageAttributes。
      • PageAttributes

        public PageAttributes​(PageAttributes.ColorType color,
                              PageAttributes.MediaType media,
                              PageAttributes.OrientationRequestedType orientationRequested,
                              PageAttributes.OriginType origin,
                              PageAttributes.PrintQualityType printQuality,
                              int[] printerResolution)
        为每个属性构造一个具有指定值的PageAttributes实例。
        参数
        color - ColorType.COLOR或ColorType.MONOCHROME。
        media - MediaType类的常量字段之一。
        orientationRequested - OrientationRequestedType.PORTRAIT或OrientationRequestedType.LANDSCAPE。
        origin - OriginType.PHYSICAL或OriginType.PRINTABLE
        printQuality - PrintQualityType.DRAFT,PrintQualityType.NORMAL或PrintQualityType.HIGH
        printerResolution - 3个元素的整数数组。 第一个元素必须大于0.第二个元素必须大于0.第三个元素必须是34
        异常
        IllegalArgumentException - 如果上述条件中的一个或多个被违反。
    • 方法详细信息

      • clone

        public Object clone​()
        创建并返回此PageAttributes的副本。
        重写:
        cloneObject
        结果
        新创建的副本。 将此对象转换为PageAttributes是安全的。
        另请参见:
        Cloneable
      • set

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

        public PageAttributes.ColorType getColor​()
        返回是否使用这些属性的页面将以彩色或单色呈现。 此属性更新为用户选择的值。
        结果
        ColorType.COLOR或ColorType.MONOCHROME。
      • setColor

        public void setColor​(PageAttributes.ColorType color)
        指定使用这些属性的页面是否以彩色或单色呈现。 不指定此属性等同于指定ColorType.MONOCHROME。
        参数
        color - ColorType.COLOR或ColorType.MONOCHROME。
        异常
        IllegalArgumentException - 如果颜色为空。
      • getMedia

        public PageAttributes.MediaType getMedia​()
        返回使用这些属性的页面的纸张大小。 此属性更新为用户选择的值。
        结果
        MediaType类的常量字段之一。
      • setMedia

        public void setMedia​(PageAttributes.MediaType media)
        使用这些属性为页面指定所需的纸张尺寸。 实际的纸张尺寸将由目标打印机的限制来决定。 如果找不到完全匹配,则实现将选择最接近的匹配。 不指定此属性等同于为默认语言环境指定默认大小。 美国和加拿大的语言环境的默认大小是MediaType.NA_LETTER。 所有其他区域设置的默认大小为MediaType.ISO_A4。
        参数
        media - MediaType类的常量字段之一。
        异常
        IllegalArgumentException - 如果media为null。
      • setMediaToDefault

        public void setMediaToDefault​()
        将使用这些属性的页面的纸张大小设置为默认语言环境的默认大小。 美国和加拿大的语言环境的默认大小是MediaType.NA_LETTER。 所有其他区域设置的默认大小为MediaType.ISO_A4。
      • getOrientationRequested

        public PageAttributes.OrientationRequestedType getOrientationRequested​()
        返回使用这些属性的页面的打印方向。 此属性更新为用户选择的值。
        结果
        OrientationRequestedType.PORTRAIT或OrientationRequestedType.LANDSCAPE。
      • setOrientationRequested

        public void setOrientationRequested​(PageAttributes.OrientationRequestedType orientationRequested)
        指定使用这些属性的页面的打印方向。 不指定属性等同于指定OrientationRequestedType.PORTRAIT。
        参数
        orientationRequested - OrientationRequestedType.PORTRAIT或OrientationRequestedType.LANDSCAPE。
        异常
        IllegalArgumentException - 如果orientationRequested为空。
      • setOrientationRequested

        public void setOrientationRequested​(int orientationRequested)
        指定使用这些属性的页面的打印方向。 指定3表示纵向。 指定4表示景观。 指定任何其他值将生成IllegalArgumentException。 不指定属性等效于调用setOrientationRequested(OrientationRequestedType.PORTRAIT)。
        参数
        orientationRequested - 3或者 4
        异常
        IllegalArgumentException - 如果orientationRequested不是 34
      • setOrientationRequestedToDefault

        public void setOrientationRequestedToDefault​()
        将使用这些属性的页面的打印方向设置为默认值。 默认方向是纵向。
      • getOrigin

        public PageAttributes.OriginType getOrigin​()
        返回是否使用这些属性绘制(0,0)到页面的物理页面的左上角或可打印区域的左上角。 (请注意,这些位置可能是等效的。)该属性不能由实现或目标打印机进行修改,也不受任何限制。
        结果
        OriginType.PHYSICAL或OriginType.PRINTABLE
      • setOrigin

        public void setOrigin​(PageAttributes.OriginType origin)
        指定使用这些属性绘制(0,0)到页面是否绘制在物理页面的左上角或可打印区域的左上角。 (请注意,这些位置可以是等效的。)不指定属性等同于指定OriginType.PHYSICAL。
        参数
        origin - OriginType.PHYSICAL或OriginType.PRINTABLE
        异常
        IllegalArgumentException - 如果origin为null。
      • getPrintQuality

        public PageAttributes.PrintQualityType getPrintQuality​()
        使用这些属性返回页面的打印质量。 此属性更新为用户选择的值。
        结果
        PrintQualityType.DRAFT,PrintQualityType.NORMAL或PrintQualityType.HIGH
      • setPrintQuality

        public void setPrintQuality​(PageAttributes.PrintQualityType printQuality)
        使用这些属性指定页面的打印质量。 不指定属性等同于指定PrintQualityType.NORMAL。
        参数
        printQuality - PrintQualityType.DRAFT,PrintQualityType.NORMAL或PrintQualityType.HIGH
        异常
        IllegalArgumentException - 如果printQuality为空。
      • setPrintQuality

        public void setPrintQuality​(int printQuality)
        使用这些属性指定页面的打印质量。 指定3表示草稿。 指定4表示正常。 指定5表示高。 指定任何其他值将生成IllegalArgumentException。 不指定属性等效于调用setPrintQuality(PrintQualityType.NORMAL)。
        参数
        printQuality - 34 ,或 5
        异常
        IllegalArgumentException -如果打印质量不 34 ,或 5
      • setPrintQualityToDefault

        public void setPrintQualityToDefault​()
        将使用这些属性的页面的打印质量设置为默认值。 默认的打印质量是正常的。
      • getPrinterResolution

        public int[] getPrinterResolution​()
        返回使用这些属性的页面的打印分辨率。 数组的索引0指定交叉进给方向分辨率(通常为水平分辨率)。 数组的索引1指定进给方向分辨率(通常为垂直分辨率)。 数组的索引2指定分辨率是每英寸点数还是每厘米点数。 3表示每英寸点数。 4表示每厘米点数。
        结果
        3个元素的整数数组。 第一个元素必须大于0.第二个元素必须大于0.第三个元素必须是34
      • setPrinterResolution

        public void setPrinterResolution​(int[] printerResolution)
        使用这些属性为页面指定所需的打印分辨率。 实际分辨率将由实现和目标打印机的限制来决定。 数组的索引0指定交叉进给方向分辨率(通常为水平分辨率)。 数组的索引1指定进给方向分辨率(通常为垂直分辨率)。 数组的索引2指定分辨率是每英寸点数还是每厘米点数。 3表示每英寸点数。 4表示每厘米点数。 请注意,1.1打印实现(Toolkit.getPrintJob)要求进纸和交叉进纸分辨率相同。 不指定属性等效于调用setPrinterResolution(72)。
        参数
        printerResolution - 3个元素的整数数组。 第一个元素必须大于0.第二个元素必须大于0.第三个元素必须是34
        异常
        IllegalArgumentException - 如果违反了上述一个或多个条件。
      • setPrinterResolution

        public void setPrinterResolution​(int printerResolution)
        使用这些属性为页面指定所需的交叉进给和每英寸点数的进纸打印分辨率。 两个分辨率都使用相同的值。 实际的分辨率将由实施的限制和目标打印机决定。 不指定属性等同于指定72
        参数
        printerResolution - 大于0的整数。
        异常
        IllegalArgumentException - 如果printerResolution小于或等于0。
      • setPrinterResolutionToDefault

        public void setPrinterResolutionToDefault​()
        将使用这些属性的页面的打印机分辨率设置为默认值。 进给和交叉进给分辨率的默认值为72 dpi。
      • equals

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

        当且仅当它们的每个属性相等时,两个PageAttributes是相等的。 枚举类型的属性当且仅当这些域引用相同的唯一枚举对象时相等。 这意味着别名的媒体与其底层的独特媒体相同。 当且仅当进给分辨率,交叉进给分辨率和单位相等时,打印机分辨率相等。

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

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