JavaTM 2 Platform
Std. Ed. v1.3

javax.swing.text
クラス FlowView.FlowStrategy

java.lang.Object
  |
  +--javax.swing.text.FlowView.FlowStrategy
含まれているクラス:
FlowView

public static class FlowView.FlowStrategy
extends Object

フローの物理的なフォームを維持するための方法です。デフォルトの実装には状態が全くなく、レイアウトが指定された FlowView の中で無効な場合は全フローを再計算します。もう一つの方法は、サブクラスで実装して、レイアウトを追加修復するかまたは代替のブレイク動作を実行する方法です。


コンストラクタの概要
FlowView.FlowStrategy()
           
 
メソッドの概要
protected  void adjustRow(FlowView fv, int rowIndex, int desiredSpan, int x)
          指定された行を可能であれば調整して、配置スパン内に収めるようにします。
 void changedUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
          このビューが担当する位置で属性が変更されたことをドキュメントから通知します。
protected  View createView(FlowView fv, int startOffset, int spanLeft, int rowIndex)
          現在のフローの一部を表すために使用できるビューを作成します。
protected  View getLogicalView(FlowView fv)
          このメソッドは FlowView の論理ビューへのフローを示します。
 void insertUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
          このビューが担当する位置でドキュメントに何かが挿入されたことを通知します。
 void layout(FlowView fv)
          指定された FlowView のフローを更新します。
protected  int layoutRow(FlowView fv, int rowIndex, int pos)
          行の配置スパンのなかにおさまるビューの行を作成します。
 void removeUpdate(FlowView fv, DocumentEvent e, Rectangle alloc)
          このビューが担当するドキュメント内の位置から何かが削除されたということを通知します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FlowView.FlowStrategy

public FlowView.FlowStrategy()
メソッドの詳細

insertUpdate

public void insertUpdate(FlowView fv,
                         DocumentEvent e,
                         Rectangle alloc)
このビューが担当する位置でドキュメントに何かが挿入されたことを通知します。このメソッドでは、修復する際に使用する適切な変更領域を更新する必要があります。
パラメータ:
e - 関連するドキュメントからの変更情報
alloc - インセットの内側のビューの現在の割り当て。ビューが表示されていない場合、戻り値は null
関連項目:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

removeUpdate

public void removeUpdate(FlowView fv,
                         DocumentEvent e,
                         Rectangle alloc)
このビューが担当するドキュメント内の位置から何かが削除されたということを通知します。
パラメータ:
e - 関連するドキュメントからの変更情報
alloc - インセットの内側のビューの現在の割り当て
関連項目:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

changedUpdate

public void changedUpdate(FlowView fv,
                          DocumentEvent e,
                          Rectangle alloc)
このビューが担当する位置で属性が変更されたことをドキュメントから通知します。
パラメータ:
changes - 関連するドキュメントからの変更情報
a - ビューの現在の割り当て
f - ビューが子を持つ場合に再構築に使用するファクトリ
関連項目:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

getLogicalView

protected View getLogicalView(FlowView fv)
このメソッドは FlowView の論理ビューへのフローを示します。

layout

public void layout(FlowView fv)
指定された FlowView のフローを更新します。デフォルトでは、すべての子ビューの行が各行の制約に合致するように再構築されます。これは FlowView.layout が呼び出してフローのなかの子ビューを更新します。
パラメータ:
v - 再フローするビュー

layoutRow

protected int layoutRow(FlowView fv,
                        int rowIndex,
                        int pos)
行の配置スパンのなかにおさまるビューの行を作成します。配置メソッドが呼び出します。この実装は使用可能なスパンが空になるまで、強制ブレイクが検出されるまで、または createView メソッドが null を返すまで繰り返し呼び出して行に挿入します。残りのスパンが空になったら、adjustRow メソッドが呼び出され指定したスパンにおさまるように行を調整します。
パラメータ:
rowIndex - ビューを収める行のインデックス。行は入口では空
pos - この子ビュー要素のなかの現在の開始位置
戻り値:
次の行を開始する位置

adjustRow

protected void adjustRow(FlowView fv,
                         int rowIndex,
                         int desiredSpan,
                         int x)
指定された行を可能であれば調整して、配置スパン内に収めるようにします。デフォルトでは、行末尾にできるだけ近くで最高のブレイクのウェイトを見つけようとします。強制ブレイクが検出されると、ブレイクがそこに配置されます。
パラメータ:
r - 現在の配置スパンに調整される行
desiredSpan - 現在の配置スパン >= 0
x - r の開始位置

createView

protected View createView(FlowView fv,
                          int startOffset,
                          int spanLeft,
                          int rowIndex)
現在のフローの一部を表すために使用できるビューを作成します。論理ビューの全体ビューでも、一部でもかまいません。
パラメータ:
fv - フローを保持するビュー
startOffset - 作成されるビューの開始位置
spanLeft - 行に挿入される残りのスパン
rowIndex - ビューの配置先の行

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.