java.lang.Object
java.awt.BasicStroke
- すべての実装されたインタフェース:
- Stroke
public class BasicStroke extends Object implements Stroke
BasicStrokeクラスは、Stroke属性セットがこのBasicStrokeに設定されたGraphics2Dオブジェクトでレンダリングされるグラフィックス・プリミティブの輪郭のためのレンダリング属性の基本セットを定義します。 BasicStrokeで定義される描画属性は、Shapeの輪郭をなぞってペンで描画される記号の形状、およびShapeの輪郭線セグメントの端部と接合部の装飾を記述します。 このような描画属性には次のようなものがあります。 
 - width
- ペンの軌跡に対して垂直方向のペンの幅
- 先端
- 閉じられていない部分輪郭線セグメントと破線セグメントの両端の装飾。 部分輪郭線の起点と終点が同じ場合でも、CLOSEセグメントがない場合は閉じていないとみなされる。 CLOSEセグメントの詳細については、SEG_CLOSEを参照。 3つの異なる装飾として、CAP_BUTT、CAP_ROUND、およびCAP_SQUAREがある。
- ライン接合
- 2つの輪郭線セグメントの交点、およびSEG_CLOSEで閉じられる部分輪郭線の両端の交点の装飾。 3つの異なる装飾として、JOIN_BEVEL、JOIN_MITER、およびJOIN_ROUNDがある。
- 接合制限値
- JOIN_MITER装飾のライン接合のトリミングを行う制限値。 ライン接合のトリミングは、接合の長さのストローク幅に対する割合が、接合制限値を超えた場合に実行される。 接合の長さは接合部分の対角線の長さであり、交点の内側の角から外側の角までの距離である。 2つのライン・セグメントの角度が小さくなればなるほど、接合部分は長くなり、交差角度は小さくなる。 デフォルトの接合制限値10.0fでは、角度が11度より小さくなった場合にトリミングを行う。 接合のトリミングではライン接合の装飾が斜影に変換される
- 破線属性
- 不透明部分と透明部分とが交互になるようにして破線を作成する方法の定義
Shape引数と同じ座標系で測定されます。 Graphics2DオブジェクトがStrokeオブジェクトを使ってdrawメソッドの1つを実行している場合に輪郭線を再定義する場合、Graphics2D変換による属性が適用される前のオリジナルの幾何学的図形が使用されます。 このため、ペン幅などの属性はGraphics2Dオブジェクトのユーザー空間座標系の値として解釈され、その特定のGraphics2Dにおいてユーザー空間からデバイス空間に変換する場合に、スケーリング効果とシャーリング効果の影響を受けます。 たとえば、描画される図形の輪郭の幅の決定には、このBasicStrokeの幅属性だけでなく、Graphics2Dオブジェクトの変換属性も影響します。 次のコードを参照してください。 
 // sets the Graphics2D object's Transform attribute g2d.scale(10, 10); // sets the Graphics2D object's Stroke attribute g2d.setStroke(new BasicStroke(1.5f));
Graphics2Dオブジェクトにほかのスケーリング変換が追加されていない場合、生成されるラインの幅は約15ピクセルになります。 サンプル・コードで示されているように、特にGraphics2Dオブジェクトを使用して大規模な変換が実行される場合は、浮動小数点ラインの方が精度が高くなります。 対角線の場合、正確な幅は、描画パイプラインが理論上の幅の輪郭をなぞる際に、どのピクセル上に描画するかで決定されます。 描画対象ピクセルの選択にはアンチエイリアシング属性も影響します。アンチエイリアシング描画パイプラインは、部分的に覆われるピクセルも描画対象として選択できるためです。 
 
 ユーザー空間座標系と描画プロセスについては、Graphics2Dクラスの説明を参照してください。
- 関連項目:
- Graphics2D
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static intCAP_BUTT装飾を付けずに、閉じられていない部分輪郭線および破線セグメントを終了します。static intCAP_ROUNDペン幅の半分の長さを半径とした丸い装飾を付けて、閉じられていない部分輪郭線および破線セグメントを終了します。static intCAP_SQUAREライン幅の半分の長さに等しい距離だけセグメントの先端を延長する正方形を付けて、閉じられていない部分輪郭線および破線セグメントを終了します。static intJOIN_BEVEL幅の広い輪郭線の外側の角を直線セグメントに接合するようにして輪郭線セグメントを接合します。static intJOIN_MITER輪郭線セグメントの外側の端が重なるまで延長して輪郭線セグメントを接合します。static intJOIN_ROUNDライン幅の半分の長さを半径として、角を丸く切り落として輪郭線セグメントを接合します。
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 BasicStroke()すべての属性にデフォルト値を使用して、新しいBasicStrokeを構築します。BasicStroke(float width)指定された線の幅と、先端およびライン接合のスタイルのデフォルト値を使用して、実線のBasicStrokeを構築します。BasicStroke(float width, int cap, int join)指定された属性を使用して、実線のBasicStrokeを構築します。BasicStroke(float width, int cap, int join, float miterlimit)指定された属性を使用して、実線のBasicStrokeを構築します。BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)指定された属性を使用して、新しいBasicStrokeを構築します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 ShapecreateStrokedShape(Shape s)指定されたShapeのストロークで描画された輪郭が内部で定義されているShapeを返します。booleanequals(Object obj)最初に、指定されたオブジェクトがBasicStrokeであるかどうかをテストし、次にその幅、接合、先端、接合制限値、破線、および破線フェーズ属性をこのBasicStrokeの各属性と比較することによって、そのオブジェクトがこのBasicStrokeに等しいかどうかをテストします。float[]getDashArray()破線セグメントの長さを表す配列を返します。floatgetDashPhase()現在の破線フェーズを返します。intgetEndCap()先端のスタイルを返します。intgetLineJoin()ライン接合のスタイルを返します。floatgetLineWidth()ラインの幅を返します。floatgetMiterLimit()接合制限値を返します。inthashCode()このストロークのハッシュ・コードを返します。
- 
フィールド詳細- 
JOIN_MITER@Native public static final int JOIN_MITER輪郭線セグメントの外側の端が重なるまで延長して輪郭線セグメントを接合します。- 関連項目:
- 定数フィールド値
 
- 
JOIN_ROUND@Native public static final int JOIN_ROUNDライン幅の半分の長さを半径として、角を丸く切り落として輪郭線セグメントを接合します。- 関連項目:
- 定数フィールド値
 
- 
JOIN_BEVEL@Native public static final int JOIN_BEVEL幅の広い輪郭線の外側の角を直線セグメントに接合するようにして輪郭線セグメントを接合します。- 関連項目:
- 定数フィールド値
 
- 
CAP_BUTT@Native public static final int CAP_BUTT装飾を付けずに、閉じられていない部分輪郭線および破線セグメントを終了します。- 関連項目:
- 定数フィールド値
 
- 
CAP_ROUND@Native public static final int CAP_ROUNDペン幅の半分の長さを半径とした丸い装飾を付けて、閉じられていない部分輪郭線および破線セグメントを終了します。- 関連項目:
- 定数フィールド値
 
- 
CAP_SQUARE@Native public static final int CAP_SQUAREライン幅の半分の長さに等しい距離だけセグメントの先端を延長する正方形を付けて、閉じられていない部分輪郭線および破線セグメントを終了します。- 関連項目:
- 定数フィールド値
 
 
- 
- 
コンストラクタの詳細- 
BasicStroke@ConstructorProperties({"lineWidth","endCap","lineJoin","miterLimit","dashArray","dashPhase"})public BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)指定された属性を使用して、新しいBasicStrokeを構築します。- パラメータ:
- width- この- BasicStrokeの幅。 幅は0.0f以上でなければならない。 幅が0.0fに設定されている場合、ストロークは対象のデバイス上のもっとも細いラインとして描画される。また、このときアンチエイリアス・ヒント設定が使用される
- cap-- BasicStrokeの両端の装飾
- join- 輪郭線セグメントの接合部の装飾
- miterlimit- 接合トリミングの制限値。 miterlimitは1.0f以上でなければならない
- dash- 破線パターンを表す配列
- dash_phase- 破線パターン開始位置のオフセット
- 例外:
- IllegalArgumentException-- widthが負である場合
- IllegalArgumentException-- capがCAP_BUTT、CAP_ROUND、CAP_SQUAREのいずれでもない場合
- IllegalArgumentException-- miterlimitが1より小さく、- joinがJOIN_MITERである場合
- IllegalArgumentException-- joinがJOIN_ROUND、JOIN_BEVEL、JOIN_MITERのいずれでもない場合
- IllegalArgumentException-- dash_phaseが負の値で、- dashが- nullでない場合
- IllegalArgumentException-- dashの長さがゼロの場合
- IllegalArgumentException- 破線の長さがすべてゼロの場合
 
- 
BasicStrokepublic BasicStroke(float width, int cap, int join, float miterlimit)指定された属性を使用して、実線のBasicStrokeを構築します。- パラメータ:
- width-- BasicStrokeの幅。
- cap-- BasicStrokeの両端の装飾
- join- 輪郭線セグメントの接合部の装飾
- miterlimit- 接合トリミングの制限値
- 例外:
- IllegalArgumentException-- widthが負である場合
- IllegalArgumentException-- capがCAP_BUTT、CAP_ROUND、CAP_SQUAREのいずれでもない場合
- IllegalArgumentException-- miterlimitが1より小さく、- joinがJOIN_MITERである場合
- IllegalArgumentException-- joinがJOIN_ROUND、JOIN_BEVEL、JOIN_MITERのいずれでもない場合
 
- 
BasicStrokepublic BasicStroke(float width, int cap, int join)指定された属性を使用して、実線のBasicStrokeを構築します。 デフォルト値でかまわない場合や、ライン接合がJOIN_MITERに指定されていない場合は、miterlimitパラメータは不要です。- パラメータ:
- width-- BasicStrokeの幅。
- cap-- BasicStrokeの両端の装飾
- join- 輪郭線セグメントの接合部の装飾
- 例外:
- IllegalArgumentException-- widthが負である場合
- IllegalArgumentException-- capがCAP_BUTT、CAP_ROUND、CAP_SQUAREのいずれでもない場合
- IllegalArgumentException-- joinがJOIN_ROUND、JOIN_BEVEL、JOIN_MITERのいずれでもない場合
 
- 
BasicStrokepublic BasicStroke(float width)指定された線の幅と、先端およびライン接合のスタイルのデフォルト値を使用して、実線のBasicStrokeを構築します。- パラメータ:
- width-- BasicStrokeの幅。
- 例外:
- IllegalArgumentException-- widthが負である場合
 
- 
BasicStrokepublic BasicStroke()すべての属性にデフォルト値を使用して、新しいBasicStrokeを構築します。 デフォルトの属性は、実線の幅1.0、CAP_SQUARE、JOIN_MITER、接合制限値10.0です。
 
- 
- 
メソッドの詳細- 
createStrokedShape指定されたShapeのストロークで描画された輪郭が内部で定義されているShapeを返します。- 定義:
- createStrokedShape、インタフェース:- Stroke
- パラメータ:
- s- ストロークで描画される- Shapeの境界
- 戻り値:
- ストロークで描画された輪郭を表すShape
 
- 
getLineWidthpublic float getLineWidth()ラインの幅を返します。 Java 2Dでデフォルトの座標空間として使用されるユーザー空間での値が返されます。 ユーザー空間の座標系については、Graphics2Dクラスの解説を参照してください。- 戻り値:
- このBasicStrokeのライン幅
- 関連項目:
- Graphics2D
 
- 
getEndCappublic int getEndCap()先端のスタイルを返します。- 戻り値:
- このBasicStrokeの先端のスタイル。先端のスタイルを定義するstaticint値として返される
 
- 
getLineJoinpublic int getLineJoin()ライン接合のスタイルを返します。- 戻り値:
- BasicStrokeのライン接合のスタイル。ライン接合のスタイルを定義するstatic- int値として返される
 
- 
getMiterLimitpublic float getMiterLimit()接合制限値を返します。- 戻り値:
- BasicStrokeの接合制限値
 
- 
getDashArraypublic float[] getDashArray()破線セグメントの長さを表す配列を返します。 配列内のエントリが、破線の不透明セグメントと透明セグメントのユーザー空間での長さを交互に表します。 ストロークで描画されるShapeの輪郭に沿ってペンが移動するにつれて、ペンが移動するユーザー空間の距離が累積されます。 距離の値は、破線配列のインデックスに使用されます。 現在の累積距離が破線配列の偶数番目の要素にマッピングされる場合、ペンは不透明になり、奇数番目の要素にマッピングされる場合は透明になります。- 戻り値:
- 破線配列
 
- 
getDashPhasepublic float getDashPhase()現在の破線フェーズを返します。 破線フェーズは、破線パターン内でのオフセットを表すユーザー空間で指定された距離です。 つまり、破線フェーズは、ストロークの先頭に対応する破線パターン内の点を定義します。- 戻り値:
- float値の破線フェーズ
 
- 
hashCodepublic int hashCode()このストロークのハッシュ・コードを返します。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このストロークのハッシュ・コード。
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
equalspublic boolean equals(Object obj)最初に、指定されたオブジェクトがBasicStrokeであるかどうかをテストし、次にその幅、接合、先端、接合制限値、破線、および破線フェーズ属性をこのBasicStrokeの各属性と比較することによって、そのオブジェクトがこのBasicStrokeに等しいかどうかをテストします。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- この- BasicStrokeと比較するオブジェクト
- 戻り値:
- 2つのオブジェクトの幅、接合、先端、接合制限値、破線、および破線フェーズが同じ場合はtrue、そうでない場合はfalse
- 関連項目:
- Object.hashCode()、- HashMap
 
 
-