java.lang.Object
javax.swing.text.FlowView.FlowStrategy
- 含まれているクラス:
- FlowView
public static class FlowView.FlowStrategy extends Object
フローの物理的なフォームを維持するための方法です。 デフォルトの実装には状態がまったくなく、レイアウトが指定されたFlowViewの中で無効な場合は全フローを再計算します。 もう一つの方法は、サブクラスで実装して、レイアウトを追加修復するかまたは代替のブレーク動作を実行する方法です。
- 導入されたバージョン:
- 1.3
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明protected void
指定された行を可能であれば調整して、配置スパン内に収めるようにします。void
changedUpdate
(FlowView fv, DocumentEvent e, Rectangle alloc) このビューが扱う位置で属性が変更されたことをドキュメントから通知します。protected View
createView
(FlowView fv, int startOffset, int spanLeft, int rowIndex) 現在のフローの一部を表すために使用できるビューを作成します。protected View
このメソッドはFlowViewの論理ビューへのフローを示します。void
insertUpdate
(FlowView fv, DocumentEvent e, Rectangle alloc) このビューが担当する位置でドキュメントに何かが挿入されたことを通知します。void
指定されたFlowViewのフローを更新します。protected int
行の配置スパンのなかにおさまるビューの行を作成します。void
removeUpdate
(FlowView fv, DocumentEvent e, Rectangle alloc) このビューが担当するドキュメント内の位置から何かが削除されたということを通知します。
-
コンストラクタの詳細
-
FlowStrategy
public FlowStrategy()FlowStrategy
を構築します。
-
-
メソッドの詳細
-
insertUpdate
public void insertUpdate(FlowView fv, DocumentEvent e, Rectangle alloc) このビューが担当する位置でドキュメントに何かが挿入されたことを通知します。 このメソッドでは、修復する際に使用する適切な変更領域を更新する必要があります。- パラメータ:
fv
- フロー・ビューe
- 関連するドキュメントからの変更情報alloc
- インセットの内側のビューの現在の割当て。 ビューが表示されていない場合、戻り値はnull。- 関連項目:
-
removeUpdate
public void removeUpdate(FlowView fv, DocumentEvent e, Rectangle alloc) このビューが担当するドキュメント内の位置から何かが削除されたということを通知します。- パラメータ:
fv
- フロー・ビューe
- 関連するドキュメントからの変更情報alloc
- インセットの内側のビューの現在の割当て。- 関連項目:
-
changedUpdate
public void changedUpdate(FlowView fv, DocumentEvent e, Rectangle alloc) このビューが扱う位置で属性が変更されたことをドキュメントから通知します。- パラメータ:
fv
- 変更を含むFlowView
e
- ドキュメントに変更が加えられたことを説明するDocumentEvent
alloc
- ViewのBounds- 関連項目:
-
getLogicalView
このメソッドはFlowViewの論理ビューへのフローを示します。- パラメータ:
fv
- FlowView- 戻り値:
- FlowViewの論理ビュー
-
layout
public void layout(FlowView fv) 指定されたFlowViewのフローを更新します。 デフォルトでは、すべての子ビューの行が各行の制約に合致するように再構築されます。 これはFlowView.layoutが呼び出してフローのなかの子ビューを更新します。- パラメータ:
fv
- 再フローするビュー
-
layoutRow
protected int layoutRow(FlowView fv, int rowIndex, int pos) 行の配置スパンのなかにおさまるビューの行を作成します。 配置メソッドが呼び出します。 この実装は使用可能なスパンが空になるまで、強制ブレークが検出されるまで、またはcreateViewメソッドがnullを返すまで繰返し呼び出して行に挿入します。 残りのスパンが空になったら、adjustRowメソッドが呼び出されて、指定したスパンにおさまるように行が調整されます。- パラメータ:
fv
- フロー・ビューrowIndex
- ビューを収める行のインデックス。 この行は入力時に空と見なされる。pos
- このビュー要素の子の中の現在の開始位置。- 戻り値:
- 次の行を開始する位置
-
adjustRow
protected void adjustRow(FlowView fv, int rowIndex, int desiredSpan, int x) 指定された行を可能であれば調整して、配置スパン内に収めるようにします。 デフォルトでは、行末尾にできるだけ近くで最大の分割ウエイトを見つけようとします。 強制分割が検出されると、分割がそこに配置されます。- パラメータ:
fv
- フロー・ビューrowIndex
- 現在の配置スパンに調整される行。desiredSpan
- 現在の配置スパン>= 0x
- rの開始位置。
-
createView
現在のフローの一部を表すために使用できるビューを作成します。 論理ビューの全体ビューでも、一部でもかまいません。- パラメータ:
fv
- フローを保持するビューstartOffset
- 作成されるビューの開始位置spanLeft
- 行に挿入される残りのスパンrowIndex
- ビューの配置先の行- 戻り値:
- 現在のフローを表すのに使用できるビュー
-