public abstract class AbstractRegionPainter extends Object implements Painter<JComponent>
| 修飾子と型 | クラスと説明 |
|---|---|
protected static class |
AbstractRegionPainter.PaintContext
ペイント時に便利な、状態をカプセル化するクラス。
|
| 修飾子 | コンストラクタと説明 |
|---|---|
protected |
AbstractRegionPainter()
新しいAbstractRegionPainterを作成します
|
| 修飾子と型 | メソッドと説明 |
|---|---|
protected void |
configureGraphics(Graphics2D g)
指定されたGraphics2Dを構成します。
|
protected float |
decodeAnchorX(float x, float dx)
制御点のエンコードされたX値とその制御点からアンカーまでのオフセット距離を指定して、アンカー・ポイントの実際のピクセル位置を表すfloat値をデコードし、返します。
|
protected float |
decodeAnchorY(float y, float dy)
制御点のエンコードされたY値とその制御点からアンカーまでのオフセット距離を指定して、アンカー・ポイントの実際のピクセル位置を表すfloat値をデコードし、返します。
|
protected Color |
decodeColor(Color color1, Color color2, float midPoint)
ほかの2つの色の間のオフセットから派生する色をデコードして返します。
|
protected Color |
decodeColor(String key, float hOffset, float sOffset, float bOffset, int aOffset)
UIデフォルトの基本色から派生する色をデコードして返します。
|
protected LinearGradientPaint |
decodeGradient(float x1, float y1, float x2, float y2, float[] midpoints, Color[] colors)
このメソッドは、LinearGradientPaintを作成するためのパラメータを使用して、線形グラデーション・ペイントを作成して返します。
|
protected RadialGradientPaint |
decodeRadialGradient(float x, float y, float r, float[] midpoints, Color[] colors)
このメソッドは、RadialGradientPaintを作成するためのパラメータを使用して、放射状グラデーション・ペイントを作成して返します。
|
protected float |
decodeX(float x)
エンコードされた指定のX値の実際のピクセル位置を表すfloat値をデコードし、返します。
|
protected float |
decodeY(float y)
エンコードされた指定のY値の実際のピクセル位置を表すfloat値をデコードし、返します。
|
protected abstract void |
doPaint(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys)
実際にペイント操作を実行します。
|
protected Color |
getComponentColor(JComponent c, String property, Color defaultColor, float saturationOffset, float brightnessOffset, int alphaOffset)
指定されたJComponentからカラー・プロパティを取得します。
|
protected Object[] |
getExtendedCacheKeys(JComponent c)
ペインタ実装でイメージ・キャッシュの検索に含める追加属性を取得します。
|
protected abstract AbstractRegionPainter.PaintContext |
getPaintContext()
このペイント操作のPaintContextを取得します。
|
void |
paint(Graphics2D g, JComponent c, int w, int h)
指定された
Graphics2Dオブジェクトに描画します。 |
public final void paint(Graphics2D g, JComponent c, int w, int h)
指定されたGraphics2Dオブジェクトに描画します。このメソッドの実装は、Graphics2Dの状態を変更することができますが、完了時にその状態を復元する必要はありません。多くの場合、呼出し側は、スクラッチのグラフィックス・オブジェクトを渡すことをお勧めします。Graphics2Dにはnullを指定できません。
グラフィックス・オブジェクトの状態はpaintメソッドによって受け付けられますが、受け付けられないこともあります。たとえば、グラフィックスにアンチエイリアスの描画ヒントを設定しても、Painterの実装によって遵守される場合とされない場合があります。
指定されたオブジェクト・パラメータはオプションの構成引数として動作します。たとえば、Component型を指定できます。それを予測していたPainterはそのComponentから状態を読み取り、状態をペイントに使うことができます。たとえば、実装はbackgroundColorを読み取り、それを使います。
一般に、再利用性を高めるため、ほとんどの標準Painterはこのパラメータを無視します。これにより、あらゆるコンテキストでそれらを使用できます。objectはnullの場合もあります。オブジェクト・パラメータがnullの場合、実装はNullPointerExceptionをスローしてはいけません。
最後に、widthおよびheight引数は、Painterがペイントすべき幅と高さを指定します。具体的には、指定した幅と高さで、ペインタにこの幅と高さいっぱいにペイントするように指示します。gパラメータにクリップが指定されている場合は、さらに領域が制限されます。
たとえば、グラデーションを描画するPainter実装があるとします。グラデーションは白から黒に変化します。ペイント領域いっぱいに「引き伸ばされ」ます。そのため、このPainterを使用して、500 x 500領域をペイントした場合、左端が黒になり、右端が白になって、その間にスムーズなグラデーションが描画されます。その後、変更せずに、Painterを再利用して、20x20のサイズの領域をペイントできます。この領域も左側が黒、右側が白になり、その間にスムーズなグラデーションがペイントされます。
paint、インタフェース: Painter<JComponent>g - 描画対象のGraphics2D。nullは指定できません。c - オプションの構成パラメータ。nullも指定できます。w - ペイントする領域の幅。h - ペイントする領域の高さ。protected Object[] getExtendedCacheKeys(JComponent c)
c - 現在のpaint呼出しのコンポーネントprotected abstract AbstractRegionPainter.PaintContext getPaintContext()
このペイント操作のPaintContextを取得します。このメソッドはすべてのペイントで呼び出されるため、高速で、ガベージを生成しないようにしてください。PaintContextには、キャッシュ・ヒントなどの情報が含まれます。また、実行時の点のデコードに必要なデータも含まれます。このデータには、引き伸ばすインセット、エンコード済のポイントが定義されたキャンバス・サイズ、引き伸ばすインセットを反転するかどうか、などがあります。
このメソッドにより、サブクラスで、場合によっては異なるキャンバス・サイズなどを持つさまざまな状態のペイントを1つのAbstractRegionPainter実装にパッケージ化できます。
protected void configureGraphics(Graphics2D g)
指定されたGraphics2Dを構成します。以後のすべてのペイント操作に影響を与えるペイントの前に、描画ヒントや規則の合成がGraphics2Dオブジェクトに適用されることがよくあります。このメソッドは、描画操作が中間バッファに実行されるかディスプレイに直接実行されるかに関係なく、描画前にGraphicsオブジェクトを構成する便利なフックを提供します。
g - 構成対象のGraphics2Dオブジェクト。nullは不可。protected abstract void doPaint(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys)
widthと高さheightを持つように、単に描画します。パフォーマンス上の理由から、Graphics2Dオブジェクトからクリップを読み込み、そのスペース内でのみ描画することをお勧めします。g - ペイント対象のGraphics2D表面c - 描画イベントに関連するJComponent。たとえば、描画される領域がButtonの場合、cはJButtonになります。描画される領域がScrollBarSliderの場合、このコンポーネントはJScrollBarになります。この値はnullも可。width - ペイント対象の領域の幅。前景色をペイントする場合、この値はc.getWidth()と異なることがあることに注意してください。height - ペイント対象の領域の高さ。前景色をペイントする場合、この値はc.getHeight()と異なることがあることに注意してください。extendedCacheKeys - getExtendedCacheKeys()を呼び出した結果protected final float decodeX(float x)
x - エンコードされたx値(0...1、または1...2、または2...3)IllegalArgumentException - x < 0またはx> 3の場合protected final float decodeY(float y)
y - エンコードされたy値(0...1、または1...2、または2...3)IllegalArgumentException - y < 0またはy> 3の場合protected final float decodeAnchorX(float x,
float dx)
x - ベジェ制御点のエンコードされたx値(0...1、または1...2、または2...3)dx - 制御点xからアンカーまでのオフセット距離IllegalArgumentException - x < 0またはx> 3の場合protected final float decodeAnchorY(float y,
float dy)
y - ベジェ制御点のエンコードされたy値(0...1、または1...2、または2...3)dy - 制御点yからアンカーまでのオフセット距離IllegalArgumentException - y < 0またはy> 3の場合protected final Color decodeColor(String key, float hOffset, float sOffset, float bOffset, int aOffset)
key - 基本色が定義されている、UIManagerのUIデフォルト表の値に対応するキーhOffset - 派生に使用される色相のオフセット。sOffset - 派生に使用される彩度のオフセット。bOffset - 派生に使用される明度のオフセット。aOffset - 派生に使用されるアルファのオフセット。0...255の間protected final Color decodeColor(Color color1, Color color2, float midPoint)
color1 - 最初の色color2 - 2番目の色midPoint - 色1と色2の間のオフセットで、0.0の値は色1で1.0の値は色2protected final LinearGradientPaint decodeGradient(float x1, float y1, float x2, float y2, float[] midpoints, Color[] colors)
x1 - y1 - x2 - y2 - midpoints - colors - NullPointerException - midpoints配列がnullであるか、またはcolors配列がnullである場合IllegalArgumentException - 始点と終点が同じ点である場合、midpoints.length != colors.lengthである場合、colorsのサイズが2がより小さい場合、midpoints値が0.0より小さいか1.0より大きい場合、またはmidpointsが厳密に昇順で指定されていない場合protected final RadialGradientPaint decodeRadialGradient(float x, float y, float r, float[] midpoints, Color[] colors)
x - y - r - midpoints - colors - NullPointerException - midpoints配列がnullであるかcolors配列がnullである場合IllegalArgumentException - rが正でない場合、midpoints.length != colors.lengthである場合、colorsのサイズが2がより小さい場合、midpoints値が0.0より小さいか1.0より大きい場合、またはmidpointsが厳密に昇順で指定されていない場合protected final Color getComponentColor(JComponent c, String property, Color defaultColor, float saturationOffset, float brightnessOffset, int alphaOffset)
getXXX()メソッドを調べ、失敗した場合はキーpropertyのクライアント・プロパティを調べます。それでもColorを返すことに失敗した場合はdefaultColorが返されます。c - カラー・プロパティを取得するためのコンポーネントproperty - Beanスタイル・プロパティまたはクライアント・プロパティの名前defaultColor - コンポーネントから色が取得されなかった場合に返す色。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.