JavaTM 2
Platform
Std. Ed. v1.4.0

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)
このビューが扱う位置で属性が変更されたことをドキュメントから通知します。

関連項目:
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 が呼び出してフローのなかの子ビューを更新します。


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)
指定された行を可能であれば調整して、配置スパン内に収めるようにします。デフォルトでは、行末尾にできるだけ近くで最大の分割ウェイトを見つけようとします。強制分割が検出されると、分割がそこに配置されます。

パラメータ:
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.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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