pageattributes.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 483 行 · 第 1/2 页
JAVA
483 行
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 + =
减小字号Ctrl + -
显示快捷键?