モジュール java.desktop
パッケージ javax.swing.plaf.nimbus

クラスAbstractRegionPainter

java.lang.Object
javax.swing.plaf.nimbus.AbstractRegionPainter
すべての実装されたインタフェース:
Painter<JComponent>

public abstract class AbstractRegionPainter
extends Object
implements Painter<JComponent>
Nimbus内の領域またはコンポーネントを描画するためのPainterインスタンスを定義する便利な基底クラス。
  • ネストされたクラスのサマリー

    ネストされたクラス 
    修飾子と型 クラス 説明
    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を取得します。

    クラス java.lang.Objectで宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

    インタフェース javax.swing.Painterで宣言されたメソッド

    paint
  • コンストラクタの詳細

    • AbstractRegionPainter

      protected AbstractRegionPainter()
      新しいAbstractRegionPainterを作成します
  • メソッドの詳細

    • 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 - 派生に使用されるアルファのオフセット。 Between 0...255
      戻り値:
      派生した色。親のuiDefaultの色が変更されるとカラー値が変更される。
    • decodeColor

      protected final Color decodeColor​(Color color1, Color color2, float midPoint)
      ほかの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 - x1
      y1 - y1
      x2 - x2
      y2 - y2
      midpoints - 中点
      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-coordinate
      y - y-coordinate
      r - radius
      midpoints - 中点
      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から取得された色