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
を構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 View
breakView(int axis, float len, Shape a)
指定された軸および指定された長さでこのビューを分割します。protected SizeRequirements
calculateMinorAxisRequirements(int axis, SizeRequirements r)
短軸方向に沿った段落に対する必要量を計算します。void
changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
このビューが扱う位置で属性が変更されたことをドキュメントから通知します。protected View
createRow()
フローの子に相当する行を保持するために使用するView
を作成します。protected int
findOffsetToCharactersInString(char[] string, int start)
ドキュメント内の次の文字をstring
内の任意の文字を使って検索します。検索はオフセットstart
から開始します。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)
カーソルを置くことのできる、次の視覚的な位置を返します。方向は右(east)または左(west)になります。protected float
getPartialSize(int startOffset, int endOffset)
startOffset
とendOffset
の間のビューが使うサイズを返します。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で宣言されたメソッド
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
-
フィールド詳細
-
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
のビュー
-
getNextNorthSouthVisualPositionFrom
protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationExceptionカーソルを置くことのできる、次の視覚的な位置を返します。方向は右(east)または左(west)になります。CompositeView
からオーバーライドされます。- オーバーライド:
getNextNorthSouthVisualPositionFrom
、クラス:CompositeView
- パラメータ:
pos
- モデルへの位置b
-Position.Bias.Forward
またはPosition.Bias.Backward
a
- 描画するために割り当てられた領域direction
-SwingConstants.NORTH
またはSwingConstants.SOUTH
biasRet
- このメソッドで確認されるバイアスを持つ配列- 戻り値:
- 次の可視の位置を表すモデル内の位置
- 例外:
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 BadLocationExceptionx
にもっとも近接したモデル内の位置を返します。rowIndex
は、検索対象のビューのインデックスを指定します。- パラメータ:
pos
- モデルへの位置b
- バイアス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を返します。
- オーバーライド:
flipEastAndWestAtEnds
、クラス:BoxView
- パラメータ:
position
- モデルへの位置bias
-Position.Bias.Forward
またはPosition.Bias.Backward
- 戻り値:
- テキストが右から左へ描画される場合はtrue、それ以外の場合はfalse。
-
getFlowSpan
public int getFlowSpan(int index)指定された子のインデックスに反してフローする制約スパンを取得します。- オーバーライド:
getFlowSpan
、クラス:FlowView
- パラメータ:
index
- 照会されるビューのインデックス- 戻り値:
index
で指定されたビューの制約スパン- 導入されたバージョン:
- 1.3
- 関連項目:
FlowView.getFlowStart(int)
-
getFlowStart
public int getFlowStart(int index)フロー・スパンを開始する、フロー軸に沿った位置を取得します。- オーバーライド:
getFlowStart
、クラス:FlowView
- パラメータ:
index
- 照会されるビューのインデックス- 戻り値:
index
で指定されたビューの位置- 導入されたバージョン:
- 1.3
- 関連項目:
FlowView.getFlowSpan(int)
-
createRow
protected View createRow()フローの子に相当する行を保持するために使用するView
を作成します。 -
nextTabStop
public float nextTabStop(float x, int tabOffset)指定された参照位置より後ろの次のタブストップ位置を返します。 このビューはタブ座標系を実装して、配置プロセスで論理子ビューでgetTabbedSpan
を呼び出して子ビューの望ましいスパンを決定します。 論理子ビューは、タブの展開方法を認識している段落に対してそのタブ展開を委譲します。 そのタブ展開の必要性を段落に委譲するビューには、LabelView
などがあります。このメソッドを実装すると、段落要素の属性セットで
TabSet
を見つけようとします。 1つ見つかるとその設定が使われ、それ以外の場合にはデフォルトの展開が提供されます。 タブ展開のベース・ロケーションは、最も最近の割り当て(子たちのレイアウトはこれに基づいています)の段落の左側の挿入図です。- 定義:
nextTabStop
、インタフェース:TabExpander
- パラメータ:
x
- X参照位置tabOffset
- タブが発生するテキスト・ストリーム内の位置>= 0- 戻り値:
- タブ展開の後続末尾>= 0
- 関連項目:
TabSet
,TabStop
,LabelView
-
getTabSet
protected TabSet getTabSet()タブの計算で使うTabset
を取得します。- 戻り値:
TabSet
-
getPartialSize
protected float getPartialSize(int startOffset, int endOffset)startOffset
とendOffset
の間のビューが使うサイズを返します。 子ビューがTabableView
インタフェースを実装する場合に、これはgetPartialView
を使ってサイズを計算します。 サイズが必要で、View
がTabableView
インタフェースを実装しない場合は、preferredSpan
が使われます。- パラメータ:
startOffset
- ドキュメントの開始オフセット>= 0endOffset
- ドキュメントの終了オフセット>= startOffset- 戻り値:
- サイズ>= 0
-
findOffsetToCharactersInString
protected int findOffsetToCharactersInString(char[] string, int start)ドキュメント内の次の文字をstring
内の任意の文字を使って検索します。検索はオフセットstart
から開始します。 どの文字も見つからない場合は、-1が返されます。- パラメータ:
string
- 文字列start
- モデル内の開始位置>= 0- 戻り値:
- ドキュメント・オフセット、または文字が見つからない場合は -1
-
getTabBase
protected float getTabBase()タブ計算の開始位置を返します。- 戻り値:
- タブ計算の開始位置
-
paint
指定されたレンダリング表面およびその表面上の領域を使ってレンダリングします。 このメソッドを実装すると、タブ計算のベース座標を保管した後にスーパー・クラスに委譲できます。- オーバーライド:
paint
、クラス:BoxView
- パラメータ:
g
- 使用する描画表面a
- 描画するために割り当てられた領域- 関連項目:
View.paint(java.awt.Graphics, java.awt.Shape)
-
getAlignment
public float getAlignment(int axis)軸に沿ったこのビューの望ましいレイアウトを決定します。 このメソッドを実装すると、y軸に沿っては先頭行の中央に配置し、x軸に沿ってはデフォルトの配置を実行できます。- オーバーライド:
getAlignment
、クラス:BoxView
- パラメータ:
axis
-View.X_AXIS
またはView.Y_AXIS
- 戻り値:
- 望ましい配置。 この値の範囲は0.0から1.0で、0は起点への配置、1.0は起点から最大に離れた配置を表す。 0.5は、ビューの中央への配置になります。
-
breakView
指定された軸および指定された長さでこのビューを分割します。ParagraphView
インスタンスは、len
が最初の行より後ろにある場合にのみ、Y_AXIS
だけに沿って分割可能です。- パラメータ:
axis
-View.X_AXIS
またはView.Y_AXIS
len
- 指定された軸に沿って分割する位置>= 0a
- ビューの現在の割当て- 戻り値:
- 指定されたスパンを表すビューのフラグメント。ビューが分割動作をサポートしていない場合は、ビュー自体が返される
- 関連項目:
View.breakView(int, int, float, float)
-
getBreakWeight
public int getBreakWeight(int axis, float len)指定された位置のブレーク・ウエイトを取得します。ParagraphView
インスタンスは、len
が最初の列より後ろにある場合にのみ、Y_AXIS
だけに沿って分割可能です。 長さが1列より短い場合、BadBreakWeight
の値が返されます。- パラメータ:
axis
-View.X_AXIS
またはView.Y_AXIS
len
- 分割する位置>= 0- 戻り値:
- ここで分割する効果を示す値。
GoodBreakWeight
またはBadBreakWeight
のどれか - 関連項目:
View.getBreakWeight(int, float, float)
-
calculateMinorAxisRequirements
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)短軸方向に沿った段落に対する必要量を計算します。これはスーパー・クラスのサイズ要件を使用し、隣接するビューの輪郭の分割できない領域を考慮して変更します。 それらのビューについての最小のサイズ要件は、隣接フラグメントの合計以上にする必要があります。
axis
パラメータがView.X_AXIS
でもView.Y_AXIS
でもない場合、IllegalArgumentException
がスローされます。r
パラメータがnull
の場合、新規SizeRequirements
オブジェクトが作成され、それ以外の場合は指定されたSizeRequirements
オブジェクトが返されます。- オーバーライド:
calculateMinorAxisRequirements
、クラス:FlowView
- パラメータ:
axis
- 副軸r
- 入力SizeRequirements
オブジェクト- 戻り値:
- 新規または調整された
SizeRequirements
オブジェクト - 例外:
IllegalArgumentException
-axis
パラメータが無効の場合- 関連項目:
SizeRequirements
-
changedUpdate
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)このビューが扱う位置で属性が変更されたことをドキュメントから通知します。- オーバーライド:
changedUpdate
、クラス:FlowView
- パラメータ:
changes
- 関連するドキュメントからの変更情報a
- ビューの現在の割当てf
- ビューが子を持つ場合に再構築に使用するファクトリ- 関連項目:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
-