- すべての実装されたインタフェース:
Painter<JComponent>
-
ネストされたクラスのサマリー
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明protected void
指定されたGraphics2Dを構成します。protected final float
decodeAnchorX
(float x, float dx) 制御点のエンコードされたX値とその制御点からアンカーまでのオフセット距離を指定して、アンカー・ポイントの実際のピクセル位置を表すfloat値をデコードし、返します。protected final float
decodeAnchorY
(float y, float dy) 制御点のエンコードされたY値とその制御点からアンカーまでのオフセット距離を指定して、アンカー・ポイントの実際のピクセル位置を表すfloat値をデコードし、返します。protected final Color
decodeColor
(Color color1, Color color2, float midPoint) ほかの2つの色の間のオフセットから派生する色をデコードして返します。protected final Color
decodeColor
(String key, float hOffset, float sOffset, float bOffset, int aOffset) UIデフォルトの基本色から派生する色をデコードして返します。protected final LinearGradientPaint
decodeGradient
(float x1, float y1, float x2, float y2, float[] midpoints, Color[] colors) このメソッドは、LinearGradientPaintを作成するためのパラメータを使用して、線形グラデーション・ペイントを作成して返します。protected final RadialGradientPaint
decodeRadialGradient
(float x, float y, float r, float[] midpoints, Color[] colors) このメソッドは、RadialGradientPaintを作成するためのパラメータを使用して、放射状グラデーション・ペイントを作成して返します。protected final float
decodeX
(float x) エンコードされた指定のX値の実際のピクセル位置を表すfloat値をデコードし、返します。protected final float
decodeY
(float y) エンコードされた指定のY値の実際のピクセル位置を表すfloat値をデコードし、返します。protected abstract void
doPaint
(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys) 実際にペイント操作を実行します。protected final Color
getComponentColor
(JComponent c, String property, Color defaultColor, float saturationOffset, float brightnessOffset, int alphaOffset) 指定されたJComponentからカラー・プロパティを取得します。protected Object[]
ペインタ実装でイメージ・キャッシュの検索に含める追加属性を取得します。protected abstract AbstractRegionPainter.PaintContext
このペイント操作のPaintContextを取得します。final void
paint
(Graphics2D g, JComponent c, int w, int h) 指定されたGraphics2D
オブジェクトに描画します。
-
コンストラクタの詳細
-
AbstractRegionPainter
protected AbstractRegionPainter()新しいAbstractRegionPainterを作成します
-
-
メソッドの詳細
-
paint
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
- ペイントする領域の高さ。
-
getExtendedCacheKeys
protected Object[] getExtendedCacheKeys(JComponent c) ペインタ実装でイメージ・キャッシュの検索に含める追加属性を取得します。 これは、paint(g, c, w, h)メソッドを呼び出すたびにチェックされます。- パラメータ:
c
- 現在のpaint呼出しのコンポーネント- 戻り値:
- キャッシュ・キーに含める追加オブジェクトの配列
-
getPaintContext
protected abstract AbstractRegionPainter.PaintContext getPaintContext()このペイント操作のPaintContextを取得します。 このメソッドはすべてのペイントで呼び出されるため、高速で、ガベージを生成しないようにしてください。 PaintContextには、キャッシュ・ヒントなどの情報が含まれます。 また、実行時の点のデコードに必要なデータも含まれます。このデータには、引き伸ばすインセット、エンコード済のポイントが定義されたキャンバス・サイズ、引き伸ばすインセットを反転するかどうか、などがあります。
このメソッドにより、サブクラスで、場合によっては異なるキャンバス・サイズなどを持つさまざまな状態のペイントを1つのAbstractRegionPainter実装にパッケージ化できます。
- 戻り値:
- このペイント操作に関連付けられたPaintContext。
-
configureGraphics
protected void configureGraphics(Graphics2D g) 指定されたGraphics2Dを構成します。 以後のすべてのペイント操作に影響を与えるペイントの前に、描画ヒントや規則の合成がGraphics2Dオブジェクトに適用されることがよくあります。 このメソッドは、描画操作が中間バッファに実行されるかディスプレイに直接実行されるかに関係なく、描画前にGraphicsオブジェクトを構成する便利なフックを提供します。
- パラメータ:
g
- 構成対象のGraphics2Dオブジェクト。 nullは不可。
-
doPaint
protected abstract void doPaint(Graphics2D g, JComponent c, int width, int height, Object[] extendedCacheKeys) 実際にペイント操作を実行します。 サブクラスはこのメソッドを実装する必要があります。 渡されたグラフィックス・オブジェクトは、描画対象の実際の表面を表すか、中間バッファである場合があります。 また、事前の変換もされています。 コンポーネントの位置が0、0で幅width
と高さheight
を持つように、単に描画します。 パフォーマンス上の理由から、Graphics2Dオブジェクトからクリップを読み込み、そのスペース内でのみ描画することをお勧めします。- パラメータ:
g
- ペイント対象のGraphics2D表面c
- 描画イベントに関連するJComponent。 たとえば、描画される領域がButtonの場合、c
はJButtonになります。 描画される領域がScrollBarSliderの場合、このコンポーネントはJScrollBarになります。 この値はnullも可。width
- ペイント対象の領域の幅。 前景色をペイントする場合、この値はc.getWidth()と異なることがあることに注意してください。height
- ペイント対象の領域の高さ。 前景色をペイントする場合、この値はc.getHeight()と異なることがあることに注意してください。extendedCacheKeys
- getExtendedCacheKeys()を呼び出した結果
-
decodeX
protected final float decodeX(float x) エンコードされた指定のX値の実際のピクセル位置を表すfloat値をデコードし、返します。- パラメータ:
x
- エンコードされたx値(0...1、または1...2、または2...3)- 戻り値:
- デコードされたx値
- 例外:
IllegalArgumentException
-x < 0
またはx> 3
の場合
-
decodeY
protected final float decodeY(float y) エンコードされた指定のY値の実際のピクセル位置を表すfloat値をデコードし、返します。- パラメータ:
y
- エンコードされたy値(0...1、または1...2、または2...3)- 戻り値:
- デコードされたy値
- 例外:
IllegalArgumentException
-y < 0
またはy> 3
の場合
-
decodeAnchorX
protected final float decodeAnchorX(float x, float dx) 制御点のエンコードされたX値とその制御点からアンカーまでのオフセット距離を指定して、アンカー・ポイントの実際のピクセル位置を表すfloat値をデコードし、返します。- パラメータ:
x
- ベジェ制御点のエンコードされたx値(0...1、または1...2、または2...3)dx
- 制御点xからアンカーまでのオフセット距離- 戻り値:
- デコードされた制御点のx位置
- 例外:
IllegalArgumentException
-x < 0
またはx> 3
の場合
-
decodeAnchorY
protected final float decodeAnchorY(float y, float dy) 制御点のエンコードされたY値とその制御点からアンカーまでのオフセット距離を指定して、アンカー・ポイントの実際のピクセル位置を表すfloat値をデコードし、返します。- パラメータ:
y
- ベジェ制御点のエンコードされたy値(0...1、または1...2、または2...3)dy
- 制御点yからアンカーまでのオフセット距離- 戻り値:
- デコードされた制御点のy位置
- 例外:
IllegalArgumentException
-y < 0
またはy> 3
の場合
-
decodeColor
protected final Color decodeColor(String key, float hOffset, float sOffset, float bOffset, int aOffset) UIデフォルトの基本色から派生する色をデコードして返します。- パラメータ:
key
- 基本色が定義されている、UIManagerのUIデフォルト表の値に対応するキーhOffset
- 派生に使用される色相のオフセット。sOffset
- 派生に使用される彩度のオフセット。bOffset
- 派生に使用される明度のオフセット。aOffset
- 派生に使用されるアルファのオフセット。 次の範囲内 0...255- 戻り値:
- 派生した色。親のuiDefaultの色が変更されるとカラー値が変更される。
-
decodeColor
ほかの2つの色の間のオフセットから派生する色をデコードして返します。- パラメータ:
color1
- 最初の色color2
- 2番目の色midPoint
- 色1と色2の間のオフセットで、0.0の値は色1で1.0の値は色2- 戻り値:
- 派生した色
-
decodeGradient
protected final LinearGradientPaint decodeGradient(float x1, float y1, float x2, float y2, float[] midpoints, Color[] colors) このメソッドは、LinearGradientPaintを作成するためのパラメータを使用して、線形グラデーション・ペイントを作成して返します。 このメソッドの主な目的の1つは、始点と終点が等しいLinearGradientPaintの作成を避けることにあります。 このような場合、オーバーラップを避けるために終点yが若干大きくなります。- パラメータ:
x1
- x1y1
- y1x2
- x2y2
- y2midpoints
- 中点colors
- 色- 戻り値:
- 有効なLinearGradientPaint。 このメソッドがnullを返すことはない。
- 例外:
NullPointerException
-midpoints
配列がnullであるか、またはcolors
配列がnullである場合IllegalArgumentException
- 始点と終点が同じ点である場合、midpoints.length != colors.length
である場合、colors
のサイズが2がより小さい場合、midpoints
値が0.0より小さいか1.0より大きい場合、またはmidpoints
が厳密に昇順で指定されていない場合
-
decodeRadialGradient
protected final RadialGradientPaint decodeRadialGradient(float x, float y, float r, float[] midpoints, Color[] colors) このメソッドは、RadialGradientPaintを作成するためのパラメータを使用して、放射状グラデーション・ペイントを作成して返します。 このメソッドの主な目的の1つは、半径が正でないRadialGradientPaintの作成を避けることにあります。 このような場合、0を避けるために半径が若干大きくなります。- パラメータ:
x
- x-coordinatey
- y-coordinater
- radiusmidpoints
- 中点colors
- 色- 戻り値:
- 有効なRadialGradientPaint。 このメソッドがnullを返すことはない。
- 例外:
NullPointerException
-midpoints
配列がnullであるかcolors
配列がnullである場合IllegalArgumentException
-r
が正でない場合、midpoints.length != colors.length
である場合、colors
のサイズが2がより小さい場合、midpoints
値が0.0より小さいか1.0より大きい場合、またはmidpoints
が厳密に昇順で指定されていない場合
-
getComponentColor
protected final Color getComponentColor(JComponent c, String property, Color defaultColor, float saturationOffset, float brightnessOffset, int alphaOffset) 指定されたJComponentからカラー・プロパティを取得します。 最初にgetXXX()
メソッドを調べ、失敗した場合はキーproperty
のクライアント・プロパティを調べます。 それでもColorを返すことに失敗した場合はdefaultColor
が返されます。- パラメータ:
c
- カラー・プロパティを取得するためのコンポーネントproperty
- Beanスタイル・プロパティまたはクライアント・プロパティの名前defaultColor
- コンポーネントから色が取得されなかった場合に返す色。saturationOffset
- (デフォルトの色が返された場合は無視される)が返す色のHSB彩度コンポーネントを追加的に変更します。brightnessOffset
- 戻り値(デフォルトの色が返された場合は無視される)の色のHSB輝度コンポーネントを追加的に変更します。alphaOffset
- 戻り値(デフォルトの色が返された場合は無視される)の色のARGBアルファ・コンポーネントを追加的に変更します。- 戻り値:
- コンポーネントまたはdefaultColorから取得された色
-