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

クラスFlowView

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


    public abstract class FlowView
    extends BoxView
    子を一部制約のある空間へ並べようとするビューです。 これは、段落、ページなどを構築するときに使用できます。フローには次の機能があります。
    • 配置プールとして使用して物理的ビューを作成する、子ビューの論理セット。
    • 論理ビューを物理的(フロー)ビューへ変換する方法。
    • 実行にあたっての制約。
    • フローを表す物理的構造。 このビューの子はフロー作成のために論理ビューの一部が配置された場所。
    導入されたバージョン:
    1.3
    関連項目:
    View
    • フィールドの詳細

      • layoutSpan

        protected int layoutSpan
        フローが作成される際のデフォルトの制約です。
      • layoutPool

        protected View layoutPool
        このビューが表す要素(物理的ビューに変換する論理ビュー)の子要素を表すビューです。 このビューの直接の子ではありません。 行の中に直接配置されるか、または小さなチャンクに分割して物理的ビューを形成します。
      • strategy

        protected FlowView.FlowStrategy strategy
        フローを更新し続ける動作です。 デフォルトでは、すべてのFlowViewインスタンスが共有する単体です(FlowStrategyには状態はありません)。 サブクラスは状態を保つ別の方法を作成できます。
    • コンストラクタの詳細

      • FlowView

        public FlowView​(Element elem,
                        int axis)
        指定された要素のFlowViewを作成します。
        パラメータ:
        elem - このビューが扱う要素
        axis - View.X_AXISまたはView.Y_AXIS
    • メソッドの詳細

      • getFlowAxis

        public int getFlowAxis​()
        それに沿ってビューをフローする軸を取得します。 デフォルトでは、フロー行をタイリングする軸(デフォルトのフロー行そのものの軸)と直角の軸となります。 通常はFlowStrategyが使用します。
        戻り値:
        ビューを流すべき軸
      • getFlowSpan

        public int getFlowSpan​(int index)
        指定された子のインデックスに反してフローする制約スパンを取得します。 フローを更新中にFlowStrategyにより呼び出されます。 制約行に異なった値を提供してフローを形成することもできます。 デフォルトでは、フロー軸に沿ったインセットの内側の全スパンが返されます。
        パラメータ:
        index - 更新中の行のインデックス。 0以上でgetViewCount()より小さい値であること。
        戻り値:
        指定された子インデックスに対して流れ込む制約スパン
        関連項目:
        getFlowStart(int)
      • getFlowStart

        public int getFlowStart​(int index)
        フロー・スパンを開始する、フロー軸に沿った位置を取得します。 フローを更新中にFlowStrategyにより呼び出されます。 制約行に異なった値を提供してフローを形成することもできます。
        パラメータ:
        index - 更新中の行のインデックス。 0以上でgetViewCount()より小さい値であること。
        戻り値:
        流れの軸に沿った、流れのスパンが始まるロケーション
        関連項目:
        getFlowSpan(int)
      • createRow

        protected abstract View createRow​()
        フローの子に相当する行を保持するのに使うViewを作成します。 フロー更新中に新しい子が追加されたり、子が削除されると(行が追加されたり削除されると) FlowStrategyにより呼び出されます。
        戻り値:
        フロー内の子の価値のある行を保持するために使用されるビュー
      • loadChildren

        protected void loadChildren​(ViewFactory f)
        ビューを初期化するためにすべての子をロードします。 これは、setParentメソッドによって呼び出されます。 このメソッドを再実装すると、どの子も(書式設定のプロセスで作成されるので)直接ロードしないようにできます。 layoutPool変数がnullの場合、LogicalViewのインスタンスが生成され、書式設定のプロセスで使われる論理ビューを表します。
        オーバーライド:
        loadChildren、クラス: CompositeView
        パラメータ:
        f - ビュー・ファクトリ
        関連項目:
        CompositeView.setParent(javax.swing.text.View)
      • getViewIndexAtPosition

        protected int getViewIndexAtPosition​(int pos)
        モデル内の指定された位置を表す子ビューのインデックスを取得します。
        オーバーライド:
        getViewIndexAtPosition、クラス: CompositeView
        パラメータ:
        pos - 位置>= 0
        戻り値:
        指定された位置を表すビューのインデックス。その位置を表すビューがない場合は -1
      • layout

        protected void layout​(int width,
                              int height)
        子を配置します。 フロー軸に沿ったスパンを変更すると、レイアウトは無効というマークが付けられスーパー・クラスはボックス軸に沿ったレイアウトを再計算します。 FlowStrategy.layoutメソッドが呼び出され、適切なフロー行を再構築します。 ボックス軸に沿った望ましいサイズによって決まるビューの高さを変更すると、preferenceChangedが呼び出されます。 このようにしてスーパー・クラスの通常のボックス・レイアウトが実行されます。
        オーバーライド:
        layout、クラス: BoxView
        パラメータ:
        width - 配置する幅。0以上。 インセット領域内部の幅。
        height - 配置する高さ。0以上。インセット領域内部の高さ。
      • calculateMinorAxisRequirements

        protected SizeRequirements calculateMinorAxisRequirements​(int axis,
                                                                  SizeRequirements r)
        副軸の必要サイズを計算します。 これを実装すると、getMinimumSpan、getPreferredSpan、およびgetMaximumSpanを呼び出して論理ビューに要求を転送できます。
        オーバーライド:
        calculateMinorAxisRequirements、クラス: BoxView
        パラメータ:
        axis - 調査中の軸
        r - SizeRequirementsオブジェクト。nullの場合、1つ作成される
        戻り値:
        新しく初期化されたSizeRequirementsオブジェクト
        関連項目:
        SizeRequirements
      • setParent

        public void setParent​(View parent)
        ビューの親を設定します。 このビューがまだ子を持たない場合は、loadChildrenメソッドの呼出しとともにスーパークラスの動作を提供するために実装し直されます。 子をコンストラクタの中にロードしないようにしてください。これは、親を設定する動作が原因となって、たとえば収容側Containerを取得するために、子が階層をさかのぼって検索しようとする可能性があるからです。 このビューが子を持つ場合、ビューはビュー階層内のある位置から別の位置へ移動しているので、loadChildrenメソッドは呼び出されません。
        オーバーライド:
        setParent、クラス: CompositeView
        パラメータ:
        parent - ビューの親。ない場合はnull