Java プラットフォーム 1.2

javax.swing.text
クラス ParagraphView

java.lang.Object
  |
  +--javax.swing.text.View
        |
        +--javax.swing.text.CompositeView
              |
              +--javax.swing.text.BoxView
                    |
                    +--javax.swing.text.ParagraphView
直接の既知のサブクラス:
ParagraphView

public class ParagraphView
extends BoxView
implements TabExpander

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

関連項目:
View

フィールドの概要
protected  int firstLineIndent
          左側からのインセットによる先頭行のインデントです。
 
クラス javax.swing.text.View から継承したフィールド
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
 
コンストラクタの概要
ParagraphView(Element elem)
          指定された要素の ParagraphView を構築します。
 
メソッドの概要
protected  void adjustRow(javax.swing.text.ParagraphView.Row r, int desiredSpan, int x)
          指定された行を可能であれば調整して、配置スパン内に収めるようにします。
 View breakView(int axis, float len, Shape a)
          このビューを指定された軸に沿って指定された長さで分割します。
protected  SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
           
 void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
          このビューが担当する位置で属性が変更されたということをドキュメントから通知します。
protected  int findOffsetToCharactersInString(char[] string, int start)
          ドキュメント内の次の文字を string 内の任意の文字を使って検索します。
protected  boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
           
 float getAlignment(int axis)
          このビューの望ましい配置を軸に沿って指定します。
 int getBreakWeight(int axis, float len)
          指定された位置の分割ウェイトを取得します。
protected  int getClosestPositionTo(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet, int rowIndex, int x)
          x にもっとも近接したモデル内の位置を返します。
protected  View getLayoutView(int index)
          段落の子ビューは、子要素を表すビューの各部分を配列するために使用されたいくつかの行です。
protected  int getLayoutViewCount()
          段落の子ビューは、子要素を表すビューの各部分を配列するために使用されたいくつかの行です。
protected  int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
          CompositeView クラスの同名のメソッドのオーバーライドです。
protected  float getPartialSize(int startOffset, int endOffset)
          startOffsetendOffset の間のビューが使うサイズを返します。
protected  float getTabBase()
           
protected  TabSet getTabSet()
          タブの計算で使う TabSet を取得します。
protected  View getViewAtPosition(int pos, Rectangle a)
          モデル内の指定された位置を表す子ビューを取得します。
protected  int getViewIndexAtPosition(int pos)
          モデル内の指定された位置を表す子ビューのインデックスを取得します。
 void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
          このビューが担当するドキュメント内の位置に何かが挿入されたということを通知します。
protected  void layout(int width, int height)
          複数の子を配置します。
protected  void loadChildren(ViewFactory f)
          子をすべてロードしてビューを初期化します。
 float nextTabStop(float x, int tabOffset)
          参照位置を指定された次のタブストップ位置を返します。
 void paint(Graphics g, Shape a)
          指定された描画表面とその領域を使って描画します。
 void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
          このビューが担当するドキュメント内の位置から何かが削除されたということを通知します。
protected  void setFirstLineIndent(float fi)
          先頭行のインデントを設定します。
protected  void setJustification(int j)
          行揃えのタイプを設定します。
protected  void setLineSpacing(float ls)
          行間隔を設定します。
protected  void setPropertiesFromAttributes()
           
 
クラス javax.swing.text.BoxView から継承したメソッド
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, layoutMajorAxis, layoutMinorAxis, modelToView, paintChild, preferenceChanged, replace, setSize, viewToModel
 
クラス javax.swing.text.CompositeView から継承したメソッド
append, getBottomInset, getChildAllocation, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewCount, insert, modelToView, removeAll, setInsets, setParagraphInsets, setParent
 
クラス javax.swing.text.View から継承したメソッド
breakView, createFragment, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getParent, getStartOffset, getViewFactory, isVisible, modelToView, viewToModel
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

firstLineIndent

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

ParagraphView

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

setJustification

protected void setJustification(int j)
行揃えのタイプを設定します。

setLineSpacing

protected void setLineSpacing(float ls)
行間隔を設定します。
パラメータ:
ls - ポイント単位の値

setFirstLineIndent

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

setPropertiesFromAttributes

protected void setPropertiesFromAttributes()

getLayoutViewCount

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

getLayoutView

protected View getLayoutView(int index)
段落の子ビューは、子要素を表すビューの各部分を配列するために使用されたいくつかの行です。このメソッドは、子要素インデックスを担当するビューを (分割前に) 返します。これらは、ファクトリから (子要素を表すために) 作成され、レイアウトに使用されるビューです。

loadChildren

protected void loadChildren(ViewFactory f)
子をすべてロードしてビューを初期化します。setParent メソッドによって呼び出されます。このメソッドを再実装すると、どの子も (書式設定のプロセスで作成されるので) 直接ロードしないようにできます。子要素を表すビューを作成しますが、書式設定のプロセスで使われるプールに配置されます。
パラメータ:
f - ビューファクトリ
オーバーライド:
クラス CompositeView 内の loadChildren

getViewAtPosition

protected View getViewAtPosition(int pos,
                                 Rectangle a)
モデル内の指定された位置を表す子ビューを取得します。このメソッドを実装すると、各子ビューを探索して指定された位置を含む領域を見つけることができます。このビューでは、子ビューは子要素に 1 対 1 でマッピングされていません (つまり、子ビューは実際には、このビューが表す要素の一部を表現する行)。
パラメータ:
pos - 検索位置 >= 0
a - 入り口での、ボックスへの割り当て。および、出口での、位置を含むビューの割り当て
戻り値:
指定された位置を表すビュー。ない場合は null
オーバーライド:
クラス CompositeView 内の getViewAtPosition

getViewIndexAtPosition

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

layout

protected void layout(int width,
                      int height)
複数の子を配置します。配置スパンが変更された場合は、それらの行が再構築されます。スーパークラス機能は、それらの行をチェックして可能ならそれを再構築したあとに呼び出されます。高さが変更された場合、垂直設定は固定されているので preferenceChanged メソッドが親で呼び出されます。
パラメータ:
width - 配置する幅 >= 0。インセット領域内部の幅
height - 配置する高さ >= 0 (段落では使われず、スーパークラスによって使われる)。インセット領域内部の高さ
オーバーライド:
クラス BoxView 内の layout

adjustRow

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

nextTabStop

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

このメソッドを実装すると、段落要素の属性セットで TabSet を見つけようとします。1 つ見かるとその設定が使われ、それ以外の場合にはデフォルトの展開が提供されます。タブ展開のベース位置は、段落のもっとも近い割り当てからの左インセット (子の配置の基準) です。

定義:
インタフェース TabExpander 内の nextTabStop
パラメータ:
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 を使ってサイズを計算します。サイズが必要で、View が TabableView インタフェースを実装しない場合は、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()
戻り値:
タブ計算の開始位置

flipEastAndWestAtEnds

protected boolean flipEastAndWestAtEnds(int position,
                                        Position.Bias bias)
オーバーライド:
クラス BoxView 内の flipEastAndWestAtEnds

paint

public void paint(Graphics g,
                  Shape a)
指定された描画表面とその領域を使って描画します。このメソッドを実装すると、タブ計算のベース座標を保管したあとにスーパークラスに委譲できます。
パラメータ:
g - 使用する描画表面
a - 描画対象の割り当て領域
オーバーライド:
クラス BoxView 内の paint
関連項目:
View.paint(java.awt.Graphics, java.awt.Shape)

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis,
                                                          SizeRequirements r)
オーバーライド:
クラス BoxView 内の calculateMinorAxisRequirements

getAlignment

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

breakView

public View breakView(int axis,
                      float len,
                      Shape a)
このビューを指定された軸に沿って指定された長さで分割します。ParagraphView のインスタンスは、Y_AXIS に沿ってのみ、len が先頭行の後に位置する場合にのみ分割可能です。
パラメータ:
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 のインスタンスは、Y_AXIS に沿ってのみ、len が先頭行の後に位置する場合にのみ分割可能です。長さが 1 行に満たない場合は、BadBreakWeight の値が返されます。
パラメータ:
axis - View.X_AXIS または View.Y_AXIS
len - 分割が望まれる位置を指定する >= 0
戻り値:
ここで分割する効果を示す値
関連項目:
View.getBreakWeight(int, float, float)

insertUpdate

public void insertUpdate(DocumentEvent changes,
                         Shape a,
                         ViewFactory f)
このビューが担当するドキュメント内の位置に何かが挿入されたということを通知します。
パラメータ:
changes - 関連付けられているドキュメントからの変更情報
a - ビューの現在の割り当て
f - ビューが子を持つ場合に再構築に使うファクトリ
オーバーライド:
クラス BoxView 内の insertUpdate
関連項目:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

removeUpdate

public void removeUpdate(DocumentEvent changes,
                         Shape a,
                         ViewFactory f)
このビューが担当するドキュメント内の位置から何かが削除されたということを通知します。
パラメータ:
changes - 関連付けられているドキュメントからの変更情報
a - ビューの現在の割り当て
f - ビューが子を持つ場合に再構築に使うファクトリ
オーバーライド:
クラス BoxView 内の removeUpdate
関連項目:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)

changedUpdate

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

getNextNorthSouthVisualPositionFrom

protected int getNextNorthSouthVisualPositionFrom(int pos,
                                                  Position.Bias b,
                                                  Shape a,
                                                  int direction,
                                                  Position.Bias[] biasRet)
                                           throws BadLocationException
CompositeView クラスの同名のメソッドのオーバーライドです。
オーバーライド:
クラス CompositeView 内の getNextNorthSouthVisualPositionFrom

getClosestPositionTo

protected int getClosestPositionTo(int pos,
                                   Position.Bias b,
                                   Shape a,
                                   int direction,
                                   Position.Bias[] biasRet,
                                   int rowIndex,
                                   int x)
                            throws BadLocationException
x にもっとも近接したモデル内の位置を返します。rowIndex は、検索対象のビューのインデックスを指定します。

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.