JavaTM 2 Platform
Std. Ed. v1.3

javax.swing.text
クラス ParagraphView

java.lang.Object
  |
  +--javax.swing.text.View
        |
        +--javax.swing.text.CompositeView
              |
              +--javax.swing.text.BoxView
                    |
                    +--javax.swing.text.FlowView
                          |
                          +--javax.swing.text.ParagraphView
すべての実装インタフェース:
SwingConstants, TabExpander
直系の既知のサブクラス:
ParagraphView

public class ParagraphView
extends FlowView
implements TabExpander

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

関連項目:
View

クラス javax.swing.text.FlowView から継承した内部クラス
FlowView.FlowStrategy
 
フィールドの概要
protected  int firstLineIndent
          左側からのインセットによる先頭行のインデントです。
 
クラス javax.swing.text.FlowView から継承したフィールド
layoutPool, layoutSpan, strategy
 
クラス javax.swing.text.View から継承したフィールド
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
 
インタフェース javax.swing.SwingConstants から継承したフィールド
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
コンストラクタの概要
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)
          指定された軸および指定された長さでこのビューを分割します。
 void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
          このビューが扱う位置で属性が変更されたことをドキュメントから通知します。
protected  View createRow()
          フローの子に相当する行を保持するのに使う View を作成します。
protected  int findOffsetToCharactersInString(char[] string, int start)
          ドキュメント内の次の文字を string 内の任意の文字を使って検索します。
protected  boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
          サブクラスでは、位置に基づく条件を満たす場合に true を返すように、このメソッドをオーバーライドできます。
 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 にもっとも近接したモデル内の位置を返します。
 int getFlowSpan(int index)
          指定された子のインデックスに反してフローする制約スパンを取り出します。
 int getFlowStart(int index)
          フロースパンを開始する、フロー軸に沿った位置を取り出します。
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 を返します。
 float nextTabStop(float x, int tabOffset)
          参照位置を指定された次のタブストップ位置を返します。
 void paint(Graphics g, Shape a)
          指定された描画表面とその領域を使って描画します。
protected  void setFirstLineIndent(float fi)
          先頭行のインデントを設定します。
protected  void setJustification(int j)
          行揃えのタイプを設定します。
protected  void setLineSpacing(float ls)
          行間隔を設定します。
protected  void setPropertiesFromAttributes()
           
 
クラス javax.swing.text.FlowView から継承したメソッド
calculateMinorAxisRequirements, getFlowAxis, getViewIndexAtPosition, insertUpdate, layout, loadChildren, removeUpdate
 
クラス javax.swing.text.BoxView から継承したメソッド
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, forwardUpdate, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel
 
クラス javax.swing.text.CompositeView から継承したメソッド
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent
 
クラス javax.swing.text.View から継承したメソッド
append, breakView, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getViewFactory, insert, isVisible, modelToView, remove, removeAll, updateChildren, updateLayout, 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)
段落の子ビューは、子要素を表すビューの各部分を配列するために使用されたいくつかの行です。このメソッドは、子要素インデックスを扱うビューを (分割前に) 返します。これらは、ファクトリから (子要素を表すために) 作成され、レイアウトに使用されるビューです。

adjustRow

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

getNextNorthSouthVisualPositionFrom

protected int getNextNorthSouthVisualPositionFrom(int pos,
                                                  Position.Bias b,
                                                  Shape a,
                                                  int direction,
                                                  Position.Bias[] biasRet)
                                           throws BadLocationException
CompositeView からオーバーライドされます。
オーバーライド:
クラス CompositeView 内の getNextNorthSouthVisualPositionFrom
クラス javax.swing.text.CompositeView からコピーされたタグ:
戻り値:
渡された位置から左方向の次の位置

getClosestPositionTo

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

flipEastAndWestAtEnds

protected boolean flipEastAndWestAtEnds(int position,
                                        Position.Bias bias)
クラス CompositeView の記述:
サブクラスでは、位置に基づく条件を満たす場合に true を返すように、このメソッドをオーバーライドできます。戻り値の true は、ビューが getNextVisualPositionFrom メソッドで -1 を返した場合に、右側 (east) の次のビューが現在のインデックスに対してオフセットが -1 となり、左側 (west) の次のビューがオフセット 1 になることを示します。通常の方向では、右 (east) のオフセットが 1、左 (west) のオフセットが -1 です (左から右に記述するテキストの場合)。
オーバーライド:
クラス BoxView 内の flipEastAndWestAtEnds
クラス javax.swing.text.CompositeView からコピーされたタグ:
戻り値:
false

getFlowSpan

public int getFlowSpan(int index)
指定された子のインデックスに反してフローする制約スパンを取り出します。
オーバーライド:
クラス FlowView 内の getFlowSpan
クラス javax.swing.text.FlowView からコピーされたタグ:
パラメータ:
index - 更新中の行のインデックス。0 以上で getViewCount() より小さい値であること
関連項目:
FlowView.getFlowStart(int)

getFlowStart

public int getFlowStart(int index)
フロースパンを開始する、フロー軸に沿った位置を取り出します。
オーバーライド:
クラス FlowView 内の getFlowStart
クラス javax.swing.text.FlowView からコピーされたタグ:
パラメータ:
index - 更新中の行のインデックス。0 以上で getViewCount() より小さい値であること
関連項目:
FlowView.getFlowSpan(int)

createRow

protected View createRow()
フローの子に相当する行を保持するのに使う View を作成します。
オーバーライド:
クラス FlowView 内の createRow

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()
戻り値:
タブ計算の開始位置

paint

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

getAlignment

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

breakView

public View breakView(int axis,
                      float len,
                      Shape a)
指定された軸および指定された長さでこのビューを分割します。

ParagraphView インスタンスは、len が最初の線より後ろにある場合にのみ、Y_AXIS に沿ってのみ分割可能です。

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

changedUpdate

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

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.