JavaTM 2
Platform
Std. Ed. v1.4.0

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, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, 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)
          次のビューをどの方向に配置するかを決定します。
 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)
          指定された index のビューを返します。
protected  int getLayoutViewCount()
          このビューが担当するビューの数を返します。
protected  int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
          カーソルを置くことのできる、次の視覚的な位置を返します。
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, isLayoutValid, 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, getToolTipText, getViewFactory, getViewIndex, 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)
位置揃えのタイプを設定します。

パラメータ:
j - 次の値のどれか。
  • StyleConstants.ALIGN_LEFT
  • StyleConstants.ALIGN_CENTER
  • StyleConstants.ALIGN_RIGHT

setLineSpacing

protected void setLineSpacing(float ls)
行間隔を設定します。

パラメータ:
ls - ポイント単位の値

setFirstLineIndent

protected void setFirstLineIndent(float fi)
先頭行のインデントを設定します。

パラメータ:
fi - ポイント単位の値

setPropertiesFromAttributes

protected void setPropertiesFromAttributes()
キャッシュに書き込まれたプロパティを属性から設定します。


getLayoutViewCount

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

戻り値:
この ParagraphView が扱うビューの数

getLayoutView

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

パラメータ:
index - 要求するビューの index
戻り値:
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
カーソルを置くことのできる、次の視覚的な位置を返します。方向は右 (east) または左 (west) になります。CompositeView からオーバーライドされます。

オーバーライド:
クラス CompositeView 内の getNextNorthSouthVisualPositionFrom
パラメータ:
pos - モデルへの位置
a - 描画のために割り当てられた領域
direction - SwingConstants.NORTH または SwingConstants.SOUTH
biasRet - このメソッドで確認されるバイアスを持つ配列
b - Position.Bias.Forward または Position.Bias.Backward のバイアス値
戻り値:
次の可視の位置を表すモデル内の位置
例外:
BadLocationException
関連項目:
CompositeView.getNextVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])

getClosestPositionTo

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

パラメータ:
pos - モデルへの位置
a - 描画のために割り当てられた領域
direction - 次の値のどれか。
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
biasRet - このメソッドで確認されるバイアスを持つ配列
rowIndex - ビューのインデックス
x - 対象となる x 座標
戻り値:
x に最も近いモデル位置
BadLocationException

flipEastAndWestAtEnds

protected boolean flipEastAndWestAtEnds(int position,
                                        Position.Bias bias)
次のビューをどの方向に配置するかを決定します。インデックス n の View が考慮されます。通常は、EAST への View がインデックス n + 1、WEST への View がインデックス n - 1 となるように、View は左から右へレイアウトされます。双方向テキストなど一部の場合では、EAST への View をインデックス n + 1 ではなくインデックス n - 1 に、WEST への View をインデックス n - 1 ではなくインデックス n + 1 にすることも可能です。この場合、このメソッドは true を返し、View が降順にレイアウトされていることを示します。

テキストが右から左へレイアウトされている場合は true を返し、そうでない場合 false を返します。

オーバーライド:
クラス BoxView 内の flipEastAndWestAtEnds
パラメータ:
position - モデルへの位置
bias - Position.Bias.Forward または Position.Bias.Backward
戻り値:
テキストが位置で右から左へレイアウトされている場合は true、そうでない場合 false

getFlowSpan

public int getFlowSpan(int index)
指定された子のインデックスに反してフローする制約スパンを取り出します。

オーバーライド:
クラス FlowView 内の getFlowSpan
パラメータ:
index - 照会されるビューのインデックス
戻り値:
index で指定されたビューの制約スパン
関連項目:
FlowView.getFlowStart(int)

getFlowStart

public int getFlowStart(int index)
フロースパンを開始する、フロー軸に沿った位置を取り出します。

オーバーライド:
クラス FlowView 内の getFlowStart
パラメータ:
index - 照会されるビューのインデックス
戻り値:
index で指定されたビューの位置
関連項目:
FlowView.getFlowSpan(int)

createRow

protected View createRow()
フローの子に相当する行を保持するのに使う View を作成します。

定義:
クラス FlowView 内の createRow
戻り値:
新規 View

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 を使ってサイズを計算します。サイズが必要で、ViewTabableView インタフェースを実装しない場合は、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
戻り値:
ここで分割する効果を示す値。GoodBreakWeight または BadBreakWeight のどれか
関連項目:
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.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.