📄 pageattributes.java
字号:
super(value, NAMES); } } // class OrientationRequestedType public static final class OriginType extends AttributeValue { private static final String[] NAMES = { "physical", "printable" }; public static final OriginType PHYSICAL = new OriginType(0); public static final OriginType PRINTABLE = new OriginType(1); private OriginType(int value) { super(value, NAMES); } } // class OriginType public static final class PrintQualityType extends AttributeValue { private static final String[] NAMES = { "high", "normal", "draft" }; public static final PrintQualityType HIGH = new PrintQualityType(0); public static final PrintQualityType NORMAL = new PrintQualityType(1); public static final PrintQualityType DRAFT = new PrintQualityType(2); private PrintQualityType(int value) { super(value, NAMES); } } // class PrintQualityType private ColorType color; private MediaType media; private OrientationRequestedType orientation; private OriginType origin; private PrintQualityType quality; private int resolutionX; private int resolutionY; private int resolutionScale; public PageAttributes() { color = ColorType.MONOCHROME; setMediaToDefault(); orientation = OrientationRequestedType.PORTRAIT; origin = OriginType.PHYSICAL; quality = PrintQualityType.NORMAL; setPrinterResolutionToDefault(); } public PageAttributes(PageAttributes attr) { set(attr); } public PageAttributes(ColorType color, MediaType media, OrientationRequestedType orientation, OriginType origin, PrintQualityType quality, int[] resolution) { if (color == null || media == null || orientation == null || origin == null || quality == null) throw new IllegalArgumentException(); setPrinterResolution(resolution); this.color = color; this.media = media; this.orientation = orientation; this.origin = origin; this.quality = quality; } public Object clone() { return new PageAttributes(this); } public void set(PageAttributes attr) { color = attr.color; media = attr.media; orientation = attr.orientation; origin = attr.origin; quality = attr.quality; resolutionX = attr.resolutionX; resolutionY = attr.resolutionY; resolutionScale = attr.resolutionScale; } public ColorType getColor() { return color; } public void setColor(ColorType color) { if (color == null) throw new IllegalArgumentException(); this.color = color; } public MediaType getMedia() { return media; } public void setMedia(MediaType media) { if (media == null) throw new IllegalArgumentException(); this.media = media; } public void setMediaToDefault() { String country = Locale.getDefault().getCountry(); media = ("US".equals(country) || "CA".equals(country)) ? MediaType.LETTER : MediaType.A4; } public OrientationRequestedType getOrientationRequested() { return orientation; } public void setOrientationRequested(OrientationRequestedType orientation) { if (orientation == null) throw new IllegalArgumentException(); this.orientation = orientation; } public void setOrientationRequested(int orientation) { if (orientation == 3) this.orientation = OrientationRequestedType.PORTRAIT; else if (orientation == 4) this.orientation = OrientationRequestedType.LANDSCAPE; else throw new IllegalArgumentException(); } public void setOrientationRequestedToDefault() { orientation = OrientationRequestedType.PORTRAIT; } public OriginType getOrigin() { return origin; } public void setOrigin(OriginType origin) { if (origin == null) throw new IllegalArgumentException(); this.origin = origin; } public PrintQualityType getPrintQuality() { return quality; } public void setPrintQuality(PrintQualityType quality) { if (quality == null) throw new IllegalArgumentException(); this.quality = quality; } public void setPrintQuality(int quality) { if (quality == 3) this.quality = PrintQualityType.DRAFT; else if (quality == 4) this.quality = PrintQualityType.NORMAL; else if (quality == 5) this.quality = PrintQualityType.HIGH; else throw new IllegalArgumentException(); } public void setPrintQualityToDefault() { quality = PrintQualityType.NORMAL; } public int[] getPrinterResolution() { return new int[] { resolutionX, resolutionY, resolutionScale }; } public void setPrinterResolution(int[] resolution) { if (resolution == null || resolution.length != 3 || resolution[0] <= 0 || resolution[1] <= 0 || resolution[2] < 3 || resolution[2] > 4) throw new IllegalArgumentException(); resolutionX = resolution[0]; resolutionY = resolution[1]; resolutionScale = resolution[2]; } public void setPrinterResolution(int resolution) { if (resolution <= 0) throw new IllegalArgumentException(); resolutionX = resolution; resolutionY = resolution; resolutionScale = 3; } public void setPrinterResolutionToDefault() { resolutionX = 72; resolutionY = 72; resolutionScale = 3; } public boolean equals(Object o) { if (this == o) return true; if (! (o instanceof PageAttributes)) return false; PageAttributes pa = (PageAttributes) o; return color == pa.color && media == pa.media && orientation == pa.orientation && origin == pa.origin && quality == pa.quality && resolutionX == pa.resolutionX && resolutionY == pa.resolutionY && resolutionScale == pa.resolutionScale; } public int hashCode() { return (color.value << 31) ^ (media.value << 24) ^ (orientation.value << 23) ^ (origin.value << 22) ^ (quality.value << 20) ^ (resolutionScale << 19) ^ (resolutionY << 10) ^ resolutionX; } public String toString() { return "color=" + color + ",media=" + media + ",orientation-requested=" + orientation + ",origin=" + origin + ",print-quality=" + quality + ",printer-resolution=[" + resolutionX + ',' + resolutionY + ',' + resolutionScale + ']'; }} // class PageAttributes
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -