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

クラスParagraphView

  • すべての実装されたインタフェース:
    SwingConstants, TabExpander
    直系の既知のサブクラス:
    ParagraphView

    public class ParagraphView
    extends FlowView
    implements TabExpander
    複数のフォント、色、コンポーネント、アイコンなどをサポートする単純な行折返し段落のビューです。これは基本的に、周囲にマージンがある垂直ボックスです。 ボックスのコンテンツは、特殊な水平ボックスである行の集まりです。 このビューは、段落要素の子要素を表すビューのコレクションを作成します。 こうした各ビューは、ビューが1行に収まる場合には行に直接配置され、そうでない場合にはbreakViewメソッドが呼び出されて各行に分割して収めるように試みられます。
    関連項目:
    View
    • フィールドの詳細

      • firstLineIndent

        protected int firstLineIndent
        左側からのインセットによる先頭行のインデントです。
    • コンストラクタの詳細

      • ParagraphView

        public ParagraphView​(Element elem)
        指定された要素のParagraphViewを構築します。
        パラメータ:
        elem - このビューが扱う要素
    • メソッドの詳細

      • setJustification

        protected void setJustification​(int j)
        位置揃えの形式を設定します。
        パラメータ:
        j - 次の値のいずれか。
        • StyleConstants.ALIGN_LEFT
        • StyleConstants.ALIGN_CENTER
        • StyleConstants.ALIGN_RIGHT
      • setLineSpacing

        protected void setLineSpacing​(float ls)
        行間隔を設定します。
        パラメータ:
        ls - 値は、行の高さの係数
      • setFirstLineIndent

        protected void setFirstLineIndent​(float fi)
        先頭行のインデントを設定します。
        パラメータ:
        fi - ポイント単位の値
      • setPropertiesFromAttributes

        protected void setPropertiesFromAttributes()
        属性から、キャッシュに書き込まれるプロパティを設定します。
      • getLayoutViewCount

        protected int getLayoutViewCount()
        このビューが扱うビューの数を返します。 段落の子ビューは、子要素を表すViewの各部分を配列するために使用されたいくつかの行です。 これは、2次元に並べられたビューの数で、このビューが扱う要素の子要素の数に等しくなります。
        戻り値:
        このParagraphViewが扱うビューの数
      • getLayoutView

        protected View getLayoutView​(int index)
        指定されたindexのビューを返します。 段落の子ビューは、子要素を表すViewsの各部分を配列するために使用されたいくつかの行です。 このメソッドは、子要素インデックスを扱うビューを(分割前に)返します。 これらは、ファクトリから(子要素を表すために)作成され、レイアウトに使用されるビューです。
        パラメータ:
        index - 要求するビューのindex
        戻り値:
        indexのビュー
      • getClosestPositionTo

        protected int getClosestPositionTo​(int pos,
                                           Position.Bias b,
                                           Shape a,
                                           int direction,
                                           Position.Bias[] biasRet,
                                           int rowIndex,
                                           int x)
                                    throws BadLocationException
        xにもっとも近接したモデル内の位置を返します。rowIndexは、検索対象のビューのインデックスを指定します。
        パラメータ:
        pos - モデルへの位置
        b - バイアス
        a - 描画するために割り当てられた領域
        direction - 次の値のいずれか。
        • SwingConstants.NORTH
        • SwingConstants.SOUTH
        biasRet - このメソッドで確認されるバイアスを持つ配列
        rowIndex - ビューのインデックス
        x - 対象となるx座標
        戻り値:
        xにもっとも近いモデル位置
        例外:
        BadLocationException - 悪いロケーションに遭遇した場合
      • flipEastAndWestAtEnds

        protected boolean flipEastAndWestAtEnds​(int position,
                                                Position.Bias bias)
        次のビューをどの方向に配置するかを決定します。 インデックスnのViewが考慮されます。 通常は、EASTへのViewがインデックスn+1、WESTへのViewがインデックスn -1となるように、Viewは左から右へレイアウトされます。 双方向テキストなど一部の場合では、EASTへのViewをインデックスn+1ではなくインデックスn -1に、またはWESTへのViewをインデックスn - 1ではなくインデックスn+1にすることもできます。 この場合、このメソッドはtrueを返し、Viewが降順にレイアウトされていることを示します。

        テキストが右から左へレイアウトされている場合はtrueを返し、そうでない場合falseを返します。

        オーバーライド:
        flipEastAndWestAtEnds、クラス: BoxView
        パラメータ:
        position - モデルへの位置
        bias - Position.Bias.ForwardまたはPosition.Bias.Backward
        戻り値:
        テキストが右から左へ描画される場合はtrue、それ以外の場合はfalse。
      • getFlowSpan

        public int getFlowSpan​(int index)
        指定された子のインデックスに反してフローする制約スパンを取得します。
        オーバーライド:
        getFlowSpan、クラス: FlowView
        パラメータ:
        index - 照会されるビューのインデックス
        戻り値:
        indexで指定されたビューの制約スパン
        導入されたバージョン:
        1.3
        関連項目:
        FlowView.getFlowStart(int)
      • getFlowStart

        public int getFlowStart​(int index)
        フロー・スパンを開始する、フロー軸に沿った位置を取得します。
        オーバーライド:
        getFlowStart、クラス: FlowView
        パラメータ:
        index - 照会されるビューのインデックス
        戻り値:
        indexで指定されたビューの位置
        導入されたバージョン:
        1.3
        関連項目:
        FlowView.getFlowSpan(int)
      • createRow

        protected View createRow()
        フローの子に相当する行を保持するために使用するViewを作成します。
        定義:
        createRow、クラス: FlowView
        戻り値:
        新しいView
        導入されたバージョン:
        1.3
      • nextTabStop

        public float nextTabStop​(float x,
                                 int tabOffset)
        指定された参照位置より後ろの次のタブストップ位置を返します。 このビューはタブ座標系を実装して、配置プロセスで論理子ビューでgetTabbedSpanを呼び出して子ビューの望ましいスパンを決定します。 論理子ビューは、タブの展開方法を認識している段落に対してそのタブ展開を委譲します。 そのタブ展開の必要性を段落に委譲するビューには、LabelViewなどがあります。

        このメソッドを実装すると、段落要素の属性セットでTabSetを見つけようとします。 1つ見つかるとその設定が使われ、それ以外の場合にはデフォルトの展開が提供されます。 タブ展開のベース・ロケーションは、最も最近の割り当て(子たちのレイアウトはこれに基づいています)の段落の左側の挿入図です。

        定義:
        nextTabStop、インタフェース: TabExpander
        パラメータ:
        x - X参照位置
        tabOffset - タブが発生するテキスト・ストリーム内の位置>= 0
        戻り値:
        タブ展開の後続末尾>= 0
        関連項目:
        TabSet, TabStop, LabelView
      • getTabSet

        protected TabSet getTabSet()
        タブの計算で使うTabsetを取得します。
        戻り値:
        TabSet
      • getPartialSize

        protected float getPartialSize​(int startOffset,
                                       int endOffset)
        startOffsetendOffsetの間のビューが使うサイズを返します。 子ビューがTabableViewインタフェースを実装する場合に、これはgetPartialViewを使ってサイズを計算します。 サイズが必要で、ViewTabableViewインタフェースを実装しない場合は、preferredSpanが使われます。
        パラメータ:
        startOffset - ドキュメントの開始オフセット>= 0
        endOffset - ドキュメントの終了オフセット>= startOffset
        戻り値:
        サイズ>= 0
      • findOffsetToCharactersInString

        protected int findOffsetToCharactersInString​(char[] string,
                                                     int start)
        ドキュメント内の次の文字をstring内の任意の文字を使って検索します。検索はオフセットstartから開始します。 どの文字も見つからない場合は、-1が返されます。
        パラメータ:
        string - 文字列
        start - モデル内の開始位置>= 0
        戻り値:
        ドキュメント・オフセット、または文字が見つからない場合は -1
      • getTabBase

        protected float getTabBase()
        タブ計算の開始位置を返します。
        戻り値:
        タブ計算の開始位置
      • paint

        public void paint​(Graphics g,
                          Shape a)
        指定されたレンダリング表面およびその表面上の領域を使ってレンダリングします。 このメソッドを実装すると、タブ計算のベース座標を保管した後にスーパー・クラスに委譲できます。
        オーバーライド:
        paint、クラス: BoxView
        パラメータ:
        g - 使用する描画表面
        a - 描画するために割り当てられた領域
        関連項目:
        View.paint(java.awt.Graphics, java.awt.Shape)
      • getAlignment

        public float getAlignment​(int axis)
        軸に沿ったこのビューの望ましいレイアウトを決定します。 このメソッドを実装すると、y軸に沿っては先頭行の中央に配置し、x軸に沿ってはデフォルトの配置を実行できます。
        オーバーライド:
        getAlignment、クラス: BoxView
        パラメータ:
        axis - View.X_AXISまたはView.Y_AXIS
        戻り値:
        望ましい配置。 この値の範囲は0.0から1.0で、0は起点への配置、1.0は起点から最大に離れた配置を表す。 0.5は、ビューの中央への配置になります。
      • breakView

        public View breakView​(int axis,
                              float len,
                              Shape a)
        指定された軸および指定された長さでこのビューを分割します。

        ParagraphViewインスタンスは、lenが最初の行より後ろにある場合にのみ、Y_AXISだけに沿って分割可能です。

        パラメータ:
        axis - View.X_AXISまたはView.Y_AXIS
        len - 指定された軸に沿って分割する位置>= 0
        a - ビューの現在の割当て
        戻り値:
        指定されたスパンを表すビューのフラグメント。ビューが分割動作をサポートしていない場合は、ビュー自体が返される
        関連項目:
        View.breakView(int, int, float, float)
      • getBreakWeight

        public int getBreakWeight​(int axis,
                                  float len)
        指定された位置のブレーク・ウエイトを取得します。

        ParagraphViewインスタンスは、lenが最初の列より後ろにある場合にのみ、Y_AXISだけに沿って分割可能です。 長さが1列より短い場合、BadBreakWeightの値が返されます。

        パラメータ:
        axis - View.X_AXISまたはView.Y_AXIS
        len - 分割する位置>= 0
        戻り値:
        ここで分割する効果を示す値。GoodBreakWeightまたはBadBreakWeightのどれか
        関連項目:
        View.getBreakWeight(int, float, float)
      • calculateMinorAxisRequirements

        protected SizeRequirements calculateMinorAxisRequirements​(int axis,
                                                                  SizeRequirements r)
        短軸方向に沿った段落に対する必要量を計算します。

        これはスーパー・クラスのサイズ要件を使用し、隣接するビューの輪郭の分割できない領域を考慮して変更します。 それらのビューについての最小のサイズ要件は、隣接フラグメントの合計以上にする必要があります。

        axisパラメータがView.X_AXISでもView.Y_AXISでもない場合、IllegalArgumentExceptionがスローされます。 rパラメータがnullの場合、新規SizeRequirementsオブジェクトが作成され、それ以外の場合は指定されたSizeRequirementsオブジェクトが返されます。

        オーバーライド:
        calculateMinorAxisRequirements、クラス: FlowView
        パラメータ:
        axis - 副軸
        r - 入力SizeRequirementsオブジェクト
        戻り値:
        新規または調整されたSizeRequirementsオブジェクト
        例外:
        IllegalArgumentException - axisパラメータが無効の場合
        関連項目:
        SizeRequirements