モジュール javafx.graphics
パッケージ javafx.scene.paint

クラスLinearGradient



  • public final class LinearGradient
    extends Paint

    LinearGradientクラスは、図形を線形の色グラデーション・パターンで塗りつぶします。 ユーザーはグラデーションの色を2色以上指定でき、この場合の描画では、各色の間の補間が行われます。

    アプリケーションでは、Stopの配列を利用して、グラデーションでの色の分布方法を指定します。 Stop#offset変数は、0.0-1.0の範囲内にあって、グラデーションに沿ったキー・フレームのように機能する必要があります。 オフセットによって、グラデーションが厳密に特定の色になる位置がマークされます。

    proportional変数をtrueに設定した場合は、グラデーションの始点と終点を単位正方形(0.0->1.0)に対して相対的に指定する必要があり、このグラデーションが図形全体に拡大されます。 proportional変数をfalseに設定した場合は、始点と終点を図形のローカル座標系に指定する必要があり、グラデーションが拡大されることはありません。

    次の例では、塗りつぶされた2つの矩形は同じようにレンダリングされます。 左側では、プロポーショナル座標を使用してグラデーションの終点を指定しています。 右側では、絶対座標を使用しています。 どちらの場合も、水平方向に黒から赤に変化するグラデーションで、指定した矩形を塗りつぶします。

    // object bounding box relative (proportional = true)
    Stop[] stops = new Stop[] { new Stop(0, Color.BLACK), new Stop(1, Color.RED)};
    LinearGradient lg1 = new LinearGradient(0, 0, 1, 0, true, CycleMethod.NO_CYCLE, stops);
    Rectangle r1 = new Rectangle(0, 0, 100, 100);
    r1.setFill(lg1);
    
    // user space relative (proportional: = false)
    LinearGradient lg2 = new LinearGradient(125, 0, 225, 0, false, CycleMethod.NO_CYCLE, stops);
    Rectangle r2 = new Rectangle(125, 0, 100, 100);
    r2.setFill(lg2);
    
    導入されたバージョン:
    JavaFX 2.0
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      LinearGradient​(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
      LinearGradientの新しいインスタンスを生成します。
      LinearGradient​(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)
      LinearGradientの新しいインスタンスを生成します。
    • メソッドのサマリー

      すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      boolean equals​(Object obj)
      このオブジェクトと他のオブジェクトが等しいかどうかを示します。
      CycleMethod getCycleMethod​()
      LinearGradientに適用するサイクル・メソッド(CycleMethod.NO_CYCLECycleMethod.REFLECTまたはCycleMethod.REPEAT)を定義します。
      double getEndX​()
      グラデーション軸の終点のX座標を定義します。
      double getEndY​()
      グラデーション軸の終点のY座標を定義します。
      double getStartX​()
      グラデーション軸の始点のX座標を定義します。
      double getStartY​()
      グラデーション軸の始点のY座標を定義します。
      List<Stop> getStops​()
      2つ以上のStop値のシーケンスによって、グラデーションでの色の分布方法を指定します。
      int hashCode​()
      このLinearGradientオブジェクトのハッシュ・コードを返します。
      boolean isOpaque​()
      この描画が完全に不透明かどうかを取得します。
      boolean isProportional​()
      始点と終点の位置がプロポーショナルか絶対値かを示します。
      String toString​()
      このLinearGradientオブジェクトの文字列表現を返します。
      static LinearGradient valueOf​(String value)
      文字列表現から線形グラデーション値を作成します。
    • コンストラクタの詳細

      • LinearGradient

        public LinearGradient​(double startX,
                              double startY,
                              double endX,
                              double endY,
                              boolean proportional,
                              CycleMethod cycleMethod,
                              Stop... stops)
        LinearGradientの新しいインスタンスを生成します。
        パラメータ:
        startX - グラデーション軸の始点のX座標
        startY - グラデーション軸の始点のY座標
        endX - グラデーション軸の終点のX座標
        endY - グラデーション軸の終点のY座標
        proportional - 座標が、このグラデーションによって塗りつぶされる図形に対してプロポーショナルかどうか。
        cycleMethod - グラデーションに適用されるサイクル・メソッド
        stops - グラデーションの色指定
      • LinearGradient

        public LinearGradient​(double startX,
                              double startY,
                              double endX,
                              double endY,
                              boolean proportional,
                              CycleMethod cycleMethod,
                              List<Stop> stops)
        LinearGradientの新しいインスタンスを生成します。
        パラメータ:
        startX - グラデーション軸の始点のX座標
        startY - グラデーション軸の始点のY座標
        endX - グラデーション軸の終点のX座標
        endY - グラデーション軸の終点のY座標
        proportional - 座標が、このグラデーションによって塗りつぶされる図形に対してプロポーショナルかどうか。
        cycleMethod - グラデーションに適用されるサイクル・メソッド
        stops - グラデーションの色指定
    • メソッドの詳細

      • getStartX

        public final double getStartX​()
        グラデーション軸の始点のX座標を定義します。 proportionalがtrue (デフォルト)である場合、グラデーションで塗りつぶす図形のサイズに合せてスケーリングされる単位四角形上の点がこの値によって指定されます。
        デフォルト値:
        0.0
        戻り値:
        グラディエント軸の始点のX座標
      • getStartY

        public final double getStartY​()
        グラデーション軸の始点のY座標を定義します。 proportionalがtrue (デフォルト)である場合、グラデーションで塗りつぶす図形のサイズに合せてスケーリングされる単位四角形上の点をこの値によって指定します。
        デフォルト値:
        0.0
        戻り値:
        グラディエント軸の始点のY座標
      • getEndX

        public final double getEndX​()
        グラデーション軸の終点のX座標を定義します。 proportionalがtrue (デフォルト)である場合、グラデーションで塗りつぶす図形のサイズに合せてスケーリングされる単位四角形上の点をこの値によって指定します。
        デフォルト値:
        1.0
        戻り値:
        勾配軸の終点のX座標
      • getEndY

        public final double getEndY​()
        グラデーション軸の終点のY座標を定義します。 proportionalがtrue (デフォルト)である場合、グラデーションで塗りつぶす図形のサイズに合せてスケーリングされる単位四角形上の点をこの値によって指定します。
        デフォルト値:
        1.0
        戻り値:
        勾配軸の終点のY座標
      • isProportional

        public final boolean isProportional​()
        始点と終点の位置がプロポーショナルか絶対値かを示します。 このフラグがtrueである場合、座標空間(グラデーションで塗りつぶす図形の境界上にマップするために、範囲[0..1]の座標がスケーリングされる)に2つの終点が定義されます。 このフラグがfalseである場合、座標はノードのローカル座標系で指定されます。
        デフォルト値:
        true
        戻り値:
        真の開始ロケーションと終了ロケーションが比例する場合、それ以外は絶対
      • getCycleMethod

        public final CycleMethod getCycleMethod​()
        LinearGradientに適用するサイクル・メソッド(CycleMethod.NO_CYCLECycleMethod.REFLECTまたはCycleMethod.REPEAT)を定義します。
        デフォルト値:
        NO_CYCLE
        戻り値:
        このリニア勾配に適用されるサイクル・メソッド
      • getStops

        public final List<Stop> getStops​()
        2つ以上のStop値のシーケンスによって、グラデーションでの色の分布方法を指定します。 これらの値は0.0-1.0の範囲内にある必要があります。 これらはグラデーションに沿ったキー・フレームのように機能します。これらによって、グラデーションが厳密に特定の色になる位置がマークされます。

        シーケンス内の各ストップには、シーケンス内の直前のストップよりも大きいオフセットが設けられている必要があります。

        リストは変更不可であるため、変更が試行されるたびにUnsupportedOperationExceptionがスローされます。

        デフォルト値:
        戻り値:
        ストップ値のリスト
      • isOpaque

        public final boolean isOpaque​()
        この描画が完全に不透明かどうかを取得します。 不透明な描画とは、どの色にもアルファ成分が含まれていないものを指します。 描画が不透明である可能性があっても、実際に不透明かどうか簡単には判断できない場合は、falseが返されます。 たとえば、ImagePatternの不透明性は手軽には判断できない場合があります。
        定義:
        isOpaque 、クラス: Paint
        戻り値:
        描画が不透明な場合はtrue、不透明でないか、判断できない場合はfalse。
        導入されたバージョン:
        JavaFX 8.0
      • equals

        public boolean equals​(Object obj)
        このオブジェクトと他のオブジェクトが等しいかどうかを示します。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 比較対象の参照オブジェクト。
        戻り値:
        このオブジェクトがobj引数と等しい場合はtrue、そうでない場合はfalse
        関連項目:
        Object.hashCode()HashMap
      • toString

        public String toString​()
        このLinearGradientオブジェクトの文字列表現を返します。
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このLinearGradientオブジェクトの文字列表現
      • valueOf

        public static LinearGradient valueOf​(String value)
        文字列表現から線形グラデーション値を作成します。

        文字列表現のフォーマットは、次の線形グラデーションのJavaFX CSS仕様に基づきます。

         linear-gradient( [ [from <point> to <point>| [ to <side-or-corner>], ]? [ [ repeat | reflect ], ]? <color-stop>[, <color-stop>]+)
         
        各項目は次のとおりです。
         <side-or-corner> = [left | right] || [top | bottom]
         <point> = [ [ <length> <length> ] | [ <percentage> | <percentage> ] ]
         <color-stop> = [ <color> [ <percentage> | <length>]? ]
         

        現在、長さはピクセル単位でのみ指定できます。単位の指定は省略できます。 色表現のフォーマットは、Color.web(String color)で使用されるものです。 linear-gradientキーワードは省略できます。 文字列表現のフォーマットの詳細は、「CSSリファレンス・ガイド」を参照してください。

        例:
        
         LinearGradient g
              = LinearGradient.valueOf("linear-gradient(from 0% 0% to 100% 100%, red  0% , blue 30%,  black 100%)");
         LinearGradient g
              = LinearGradient.valueOf("from 0% 0% to 100% 100%, red  0% , blue 30%,  black 100%");
         LinearGradient g
              = LinearGradient.valueOf("linear-gradient(from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%)");
         LinearGradient g
              = LinearGradient.valueOf("from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%");
         
        パラメータ:
        value - 変換対象の文字列
        戻り値:
        文字列引数により表される値を保持するLinearGradientオブジェクト。
        例外:
        NullPointerException - valuenullである場合
        IllegalArgumentException - valueを解析できない場合
        導入されたバージョン:
        JavaFX 2.1