public abstract class Size2DSyntax extends Object implements Serializable, Cloneable
2次元のサイズの属性値は、寸法Xと寸法Yの2つの項目から構成されます。2次元のサイズの属性値は、2つの値を提供し、その値を測定する単位を示すことによって構築されます。メソッドは2次元のサイズの属性値を返すために提供され、値を返す単位を示します。もっとも一般的な2つのサイズの単位は、インチ(in)とミリメートル(mm)で、これらの単位を示すためにエクスポートされる定数INCH
とMM
が提供されます。
2次元のサイズの属性値は、いったん構築されると変更できません。
設計
2次元のサイズの属性値の寸法Xと寸法Yの値は、整数型としてミクロン(µm)単位で内部に格納されます。ここで、1ミクロン= 10-6メートル= 1/1000ミリメートル= 1/25400インチです。これにより、寸法を1/1000 mm (= 1µm)または1/100インチ(= 254µm)の精度で正確に表すことができます。小数点以下のインチを2の負のべき乗で表す場合、寸法を1/8インチ(= 3175µm)精度で表すことはできますが、1/16インチ精度で表すことはできません(1/16インチがµmの積分値と一致しないため)。
寸法を共通のµm単位で内部に格納することにより、作成時の単位にかかわらず2つのサイズの属性が比較可能になります。たとえば、両方とも215900µmとして格納されるため、比較の結果8.5インチは215.9 mmと等しいことがわかります。たとえば、検索サービスは、作成時の単位にかかわらず、直列化表現の同等性に基づいて解像度属性を照合できます。内部ストレージに整数型を使用することにより、正確な同等性の比較が可能になります。ただし、これは内部表現に浮動小数点が使用される場合は保証されません。メートル法単位のU.S. レター・サイズ・メディアを検出する場合、215.9 x 279.4 mmのメディア・サイズを検索しなければならないことに注意してください。整数型216 x 279 mmに四捨五入すると照合されません。
エクスポートされる定数INCH
は、実際にインチ単位の値に乗算して、μm単位の値を取得する変換係数です。同様に、エクスポートされる定数MM
は、mm単位の値に乗算してμm単位の値を取得する変換係数です。クライアントは、クライアント自身の変換係数を提供して、インチまたはmm以外の単位で解像度属性を指定できます。ただし、内部単位μmは、外部単位として、インチとmmだけを考慮してサポートするよう選択されているので、クライアントの単位の変換係数が正確な整数型となるかどうか保証されません。変換係数が正確な整数型ではない場合、クライアントの単位の解像度の値は正確に格納されません。
修飾子 | コンストラクタと説明 |
---|---|
protected |
Size2DSyntax(float x, float y, int units)
指定された浮動小数点の値で新しい2次元のサイズの属性を構築します。
|
protected |
Size2DSyntax(int x, int y, int units)
指定された整数値で新しい2次元のサイズの属性を構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
boolean |
equals(Object object)
この2次元のサイズの属性がオブジェクトに渡された属性と等しいかどうかを返します。
|
float[] |
getSize(int units)
浮動小数点の値として指定された単位で、この2次元のサイズの属性の寸法を返します。
|
float |
getX(int units)
浮動小数点の値として指定された単位で、この2次元のサイズの属性の寸法Xを返します。
|
protected int |
getXMicrometers()
この2次元のサイズの属性の寸法Xをミクロン(μm)単位で返します。
|
float |
getY(int units)
浮動小数点の値として指定された単位で、この2次元のサイズの属性の寸法Yを返します。
|
protected int |
getYMicrometers()
この2次元のサイズの属性の寸法Yをミクロン(μm)単位で返します。
|
int |
hashCode()
この2次元のサイズの属性のハッシュ・コード値を返します。
|
String |
toString()
この2次元のサイズの属性の文字列バージョンを返します。
|
String |
toString(int units, String unitsName)
この2次元のサイズの属性の文字列バージョンを指定された単位で返します。
|
public static final int INCH
public static final int MM
protected Size2DSyntax(float x, float y, int units)
x
- 寸法X。y
- 寸法Y。units
- 単位変換係数。INCH
やMM
など。IllegalArgumentException
- 非チェック例外。x < 0
またはy < 0
またはunits < 1
の場合にスローされる。protected Size2DSyntax(int x, int y, int units)
x
- 寸法X。y
- 寸法Y。units
- 単位変換係数。INCH
やMM
など。IllegalArgumentException
- 非チェック例外。x < 0
またはy < 0
またはunits < 1
の場合にスローされる。public float[] getSize(int units)
units
- 単位変換係数。INCH
やMM
など。IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。public float getX(int units)
units
- 単位変換係数。INCH
やMM
など。IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。public float getY(int units)
units
- 単位変換係数。INCH
やMM
など。IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。public String toString(int units, String unitsName)
"XxY U"
の形式をとります。ここで、Xは寸法X、Yは寸法Y、Uは単位名です。値は浮動小数点で表示されます。units
- 単位変換係数。INCH
やMM
など。unitsName
- 単位名の文字列。in
またはmm
など。nullの場合、結果に単位名は付けられない。IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。public boolean equals(Object object)
object
がnullではない。
object
がSize2DSyntaxのインスタンスである。
object
の寸法Xと等しい。
object
の寸法Yと等しい。
equals
、クラス: Object
object
- 比較対象のオブジェクト。object
がこの2次元のサイズの属性と等しい場合はtrue、そうでない場合はfalse。Object.hashCode()
, HashMap
public int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String toString()
"XxY um"
の形式をとります。ここで、Xは寸法X、Yは寸法Yです。値は内部単位ミクロンで報告されます。protected int getXMicrometers()
protected int getYMicrometers()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.