public class ParagraphView extends FlowView implements TabExpander
breakViewメソッドが呼び出されて各行に分割して収めるように試みられます。ViewFlowView.FlowStrategy| 修飾子と型 | フィールドと説明 |
|---|---|
protected int |
firstLineIndent
左側からのインセットによる先頭行のインデントです。
|
layoutPool, layoutSpan, strategyBadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXISBOTTOM, 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()
属性から、キャッシュに書き込まれるプロパティを設定します。
|
getFlowAxis, getViewIndexAtPosition, insertUpdate, layout, loadChildren, removeUpdate, setParentbaselineLayout, 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, viewToModelgetBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsetsappend, breakView, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateChildren, updateLayout, viewToModelpublic ParagraphView(Element elem)
ParagraphViewを構築します。elem - このビューが扱う要素protected void setJustification(int j)
j - 次の値のいずれか。
StyleConstants.ALIGN_LEFT
StyleConstants.ALIGN_CENTER
StyleConstants.ALIGN_RIGHT
protected void setLineSpacing(float ls)
ls - 値は、行の高さの係数protected void setFirstLineIndent(float fi)
fi - ポイント単位の値protected void setPropertiesFromAttributes()
protected int getLayoutViewCount()
Viewの各部分を配列するために使用されたいくつかの行です。これは、2次元に並べられたビューの数で、このビューが扱う要素の子要素の数に等しくなります。ParagraphViewが扱うビューの数protected View getLayoutView(int index)
indexのビューを返します。段落の子ビューは、子要素を表すViewsの各部分を配列するために使用されたいくつかの行です。このメソッドは、子要素インデックスを扱うビューを(分割前に)返します。これらは、ファクトリから(子要素を表すために)作成され、レイアウトに使用されるビューです。index - 要求するビューのindexindexのビューprotected int getNextNorthSouthVisualPositionFrom(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet)
throws BadLocationException
CompositeViewからオーバーライドされます。getNextNorthSouthVisualPositionFrom、クラス: CompositeViewpos - モデルへの位置b - Position.Bias.ForwardまたはPosition.Bias.Backwarda - 描画するために割り当てられた領域direction - SwingConstants.NORTHまたはSwingConstants.SOUTHbiasRet - このメソッドで確認されるバイアスを持つ配列BadLocationExceptionCompositeView.getNextVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])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にもっとも近いモデル位置BadLocationExceptionprotected boolean flipEastAndWestAtEnds(int position,
Position.Bias bias)
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、クラス: BoxViewposition - モデルへの位置bias - Position.Bias.ForwardまたはPosition.Bias.Backwardpublic int getFlowSpan(int index)
getFlowSpan、クラス: FlowViewindex - 照会されるビューのインデックスindexで指定されたビューの制約スパンFlowView.getFlowStart(int)public int getFlowStart(int index)
getFlowStart、クラス: FlowViewindex - 照会されるビューのインデックスindexで指定されたビューの位置FlowView.getFlowSpan(int)protected View createRow()
Viewを作成します。public float nextTabStop(float x,
int tabOffset)
getTabbedSpanを呼び出して子ビューの望ましいスパンを決定します。論理子ビューは、タブの展開方法を認識している段落に対してそのタブ展開を委譲します。そのタブ展開の必要性を段落に委譲するビューには、LabelViewなどがあります。
このメソッドを実装すると、段落要素の属性セットでTabSetを見つけようとします。1つ見つかるとその設定が使われ、それ以外の場合にはデフォルトの展開が提供されます。タブ展開のベース位置は、段落のもっとも近い割り当てからの左インセット(子の配置の基準)です。
nextTabStop、インタフェース: TabExpanderx - X参照位置tabOffset - タブが発生するテキスト・ストリーム内の位置>= 0TabSet, TabStop, LabelViewprotected TabSet getTabSet()
Tabsetを取得します。TabSetprotected float getPartialSize(int startOffset,
int endOffset)
startOffsetとendOffsetの間のビューが使うサイズを返します。子ビューがTabableViewインタフェースを実装する場合に、これはgetPartialViewを使ってサイズを計算します。サイズが必要で、ViewがTabableViewインタフェースを実装しない場合は、preferredSpanが使われます。startOffset - ドキュメントの開始オフセット>= 0endOffset - ドキュメントの終了オフセット>= startOffsetprotected int findOffsetToCharactersInString(char[] string,
int start)
string内の任意の文字を使って検索します。検索はオフセットstartから開始します。どの文字も見つからない場合は、-1が返されます。string - 文字列start - モデル内の開始位置>= 0protected float getTabBase()
public void paint(Graphics g, Shape a)
paint、クラス: BoxViewg - 使用する描画表面a - 描画するために割り当てられた領域View.paint(java.awt.Graphics, java.awt.Shape)public float getAlignment(int axis)
getAlignment、クラス: BoxViewaxis - View.X_AXISまたはView.Y_AXISpublic View breakView(int axis, float len, Shape a)
ParagraphViewインスタンスは、lenが最初の行より後ろにある場合にのみ、Y_AXISだけに沿って分割可能です。
axis - View.X_AXISまたはView.Y_AXISlen - 指定された軸に沿って分割する位置>= 0a - ビューの現在の割当てView.breakView(int, int, float, float)public int getBreakWeight(int axis,
float len)
ParagraphViewインスタンスは、lenが最初の列より後ろにある場合にのみ、Y_AXISだけに沿って分割可能です。長さが1列より短い場合、BadBreakWeightの値が返されます。
axis - View.X_AXISまたはView.Y_AXISlen - 分割する位置>= 0GoodBreakWeightまたはBadBreakWeightのどれかView.getBreakWeight(int, float, float)protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
これはスーパー・クラスのサイズ要件を使用し、隣接するビューの輪郭の分割できない領域を考慮して変更します。それらのビューについての最小のサイズ要件は、隣接フラグメントの合計以上にする必要があります。
axisパラメータがView.X_AXISでもView.Y_AXISでもない場合、IllegalArgumentExceptionがスローされます。rパラメータがnullの場合、新規SizeRequirementsオブジェクトが作成され、それ以外の場合は指定されたSizeRequirementsオブジェクトが返されます。
calculateMinorAxisRequirements、クラス: FlowViewaxis - 副軸r - 入力SizeRequirementsオブジェクトSizeRequirementsオブジェクトIllegalArgumentException - axisパラメータが無効の場合SizeRequirementspublic void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
changedUpdate、クラス: FlowViewchanges - 関連するドキュメントからの変更情報a - ビューの現在の割当てf - ビューが子を持つ場合に再構築に使用するファクトリView.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.