クラスCompositeView
java.lang.Object
javax.swing.text.View
javax.swing.text.CompositeView
- すべての実装されたインタフェース:
SwingConstants
- 直系の既知のサブクラス:
BoxView
public abstract class CompositeView extends View
CompositeViewは、1つ以上の子ビューを管理するabstractクラスのViewの実装です。 CompositeViewは、比較的少数の子ビューを管理することを想定しています。 CompositeViewは、BoxViewなど、子のViewを含む、Viewの実装の開始ポイントとして使用されます。 子Viewのコレクションを管理するサブクラスは、replace(int, int, View[])メソッドを使用する必要があります。 DocumentListener通知中にViewがreplaceを呼び出すので、通常replaceを直接呼び出す必要はありません。
CompositeViewは子Viewにレイアウト・ポリシーを適用しませんが、含まれる子Viewを設定することは可能です。 インセットは、setInsets(short, short, short, short)またはsetParagraphInsets(AttributeSet)のいずれかで設定できます。
Viewの抽象メソッドに加え、CompositeViewのサブクラスもオーバーライドする必要があります。
isBefore(int, int, Rectangle)- 指定されたViewの場所がCompositeViewのビジュアル領域より前かどうかをテストするために使用されます。isAfter(int, int, Rectangle)- 特定のViewの場所がCompositeViewのビジュアル領域より後かどうかをテストするために使用されます。getViewAtPoint(int, int, Rectangle)- 指定されたビジュアル位置にあるビューを返します。childAllocation(int, Rectangle)- 特定の子Viewの境界を返します。getChildAllocationは、CompositeViewのInsetによって境界をオフセットした後、childAllocationを呼び出します。
-
フィールドのサマリー
クラスビューで宣言されたフィールド
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS修飾子と型フィールド説明static final intフォーマット目的とするには不完全な分割の機会であるビューを示すウエイトです。static final int分割をサポートしているビューを示すウエイトで、分割するのに適した位置であることを表わしています。static final int分割をサポートしているビューを示すウエイトで、子を分割することで子をフォーマットするビューに配置されている場合に、ビューを正しく表わすには分割しなければいけません。static final int分割をサポートしているビューを示すウエイトですが、もっと良い機会が存在する可能性があります。static final intフォーマット/分割処理の軸です。static final intフォーマット/分割処理の軸です。インタフェースで宣言されたフィールド SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST修飾子と型フィールド説明static final intボックスの下端を指定するために使用するボックス配置定数です。static final int領域内の中央位置です。static final int東(右)の方角です。static final int水平方向です。static final int左から右に記述する言語および右から左に記述する言語で使用するテキストのリーディング・エッジを指定します。static final intボックスの左端を指定するために使用するボックス配置定数です。static final intシーケンス内の次の方向を指定します。static final int北(上)の方角です。static final int北東(右上)の方角です。static final int北西(左上)の方角です。static final intシーケンス内の前の方向を指定します。static final intボックスの右端を指定するために使用するボックス配置定数です。static final int南(下)の方角です。static final int南東(右下)の方角です。static final int南西(左下)の方角です。static final intボックスの上端を指定するために使用するボックス配置定数です。static final int左から右に記述する言語および右から左に記述する言語で使用するテキストのトレーリング・エッジを指定します。static final int垂直方向です。static final int西(左)の方角です。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明protected abstract voidchildAllocation(int index, Rectangle a) 指定された子への割り当てを返します。protected booleanflipEastAndWestAtEnds(int position, Position.Bias bias) 次のビューをどの方向に配置するかを決定します。protected short下のインセットを取得します。getChildAllocation(int index, Shape a) 指定された、レンダリングする子ビューへの割り当てを取得します。protected Rectangleビューに指定された不変の割当てを、内部割当てを表す可変の割当てに変換します(上、左、下、右のインセットで指定された割当ての境界を削除する場合など)。protected short左のインセットを取得します。protected intgetNextEastWestVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) カーソルを置くことのできる、次の視覚的な位置を返します。方向は右(east)または左(west)になります。protected intgetNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) カーソルを置くことのできる、次の視覚的な位置を返します。方向は上(north)または下(south)になります。intgetNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) キャレットが配置される可能性のある、視覚的に表された次のモデル位置を決定する手段を提供します。protected short右のインセットを取得します。protected short上のインセットを取得します。getView(int n) コンテナ内のn番目のビューを返します。protected abstract ViewgetViewAtPoint(int x, int y, Rectangle alloc) 指定された座標の子ビューを取得します。protected ViewgetViewAtPosition(int pos, Rectangle a) モデル内で指定された位置を表す子ビューを取得します。intこのビューの子ビューの数を返します。intgetViewIndex(int pos, Position.Bias b) モデル内の指定された位置を表す子ビューのインデックスを返します。protected intgetViewIndexAtPosition(int pos) モデル内の指定された位置を表す子ビューのインデックスを取得します。protected abstract booleanある点が、矩形範囲の後ろにあるかどうかを判定します。protected abstract booleanある点が、矩形範囲の前にあるかどうかを判定します。protected voidビューを初期化するためにすべての子をロードします。modelToView(int pos, Shape a, Position.Bias b) ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。void子ビューを置換します。protected voidsetInsets(short top, short left, short bottom, short right) ビューのインセットを設定します。protected void指定された属性から選ばれた段落属性から、インセットを設定します。voidビューの親を設定します。intviewToModel(float x, float y, Shape a, Position.Bias[] bias) ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。Viewクラスで宣言されたメソッド
append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAlignment, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getParent, getPreferredSpan, getResizeWeight, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, insertUpdate, isVisible, modelToView, paint, preferenceChanged, remove, removeAll, removeUpdate, setSize, updateChildren, updateLayout, viewToModel修飾子と型メソッド説明void1つの子ビューを追加します。breakView(int axis, int offset, float pos, float len) 指定された軸でこのビューの分割を試みます。voidchangedUpdate(DocumentEvent e, Shape a, ViewFactory f) このビューが扱う位置で属性が変更されたことをドキュメントから通知します。createFragment(int p0, int p1) 要素の一部分を表すビューを作成します。protected void指定されたDocumentEventを、モデルへの変更について通知する必要のある子ビューに転送します。protected voidforwardUpdateToView(View v, DocumentEvent e, Shape a, ViewFactory f) 指定された子ビューにDocumentEventを転送します。floatgetAlignment(int axis) 軸に沿ったこのビューの望ましいレイアウトを決定します。描画するときに使用する属性を取得します。intgetBreakWeight(int axis, float pos, float len) このビューで分割のウエイトがどのくらい適切かを示します。ビューを収容するコンテナを取得します。ビューに関連したモデルを取り出します。このビューがマッピングされる対象の構造部分を取り出します。intこのビューが扱うモデルの一部を取り出します。レンダリングのためのGraphicsを取得します。floatgetMaximumSpan(int axis) このビューの最大スパンを軸に沿って指定します。floatgetMinimumSpan(int axis) このビューの最小スパンを軸に沿って指定します。ビューの親を返します。abstract floatgetPreferredSpan(int axis) このビューに適切なスパンを軸に沿って指定します。intgetResizeWeight(int axis) 指定された軸に沿ってビューのサイズを変更できるかどうかを指定します。intこのビューが扱うモデルの一部を取り出します。getToolTipText(float x, float y, Shape allocation) 指定された位置にあるツールヒントのテキストを返します。ビュー階層を供給しているViewFactoryの実装を取り出します。intgetViewIndex(float x, float y, Shape allocation) ビュー内の指定された位置を表す子ビュー・インデックスを返します。void1つの子ビューを挿入します。voidinsertUpdate(DocumentEvent e, Shape a, ViewFactory f) このビューが扱う位置でドキュメントに何かが挿入されたことを通知します。booleanビューが可視かどうかを示すboolean型の値を返します。modelToView(int pos, Shape a) 非推奨。abstract void指定されたレンダリング表面およびその表面上の領域を使ってレンダリングします。voidpreferenceChanged(View child, boolean width, boolean height) 子ビューは親でこのメソッドを呼び出し、設定が変更されたこと、および再度レイアウトが考慮されなければならないことを示すことができます。voidremove(int i) 指定された位置にある子を1つ削除します。voidすべての子を削除します。voidremoveUpdate(DocumentEvent e, Shape a, ViewFactory f) このビューが扱うドキュメント内の位置から何かが削除されたということを通知します。voidsetSize(float width, float height) ビューのサイズを設定します。protected booleanモデルが変更されたという通知を受け取ると、子ビューを更新します。このビューが扱う要素の変更記録があります。protected voidモデルから変更の通知を受け取った場合に、レイアウトを更新します。intviewToModel(float x, float y, Shape a) 非推奨。クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
CompositeView
-
-
メソッドの詳細
-
loadChildren
protected void loadChildren(ViewFactory f) ビューを初期化するためにすべての子をロードします。 これは、setParent(View)メソッドによってコールされます。 サブクラスは、このメソッドを再実装して別の方法で子ビューを初期化できます。 デフォルトの実装は、子要素ごとに子ビューを作成します。- パラメータ:
f- ビュー・ファクトリ- 関連項目:
-
setParent
public void setParent(View parent) ビューの親を設定します。 このビューがまだ子を持たない場合は、loadChildrenメソッドの呼出しとともにスーパークラスの動作を提供するために実装し直されます。 子をコンストラクタの中にロードしないようにしてください。これは、親を設定する動作が原因となって、たとえば収容側Containerを取得するために、子が階層をさかのぼって検索しようとする可能性があるからです。 このビューが子を持つ場合、ビューはビュー階層内のある位置から別の位置へ移動しているので、loadChildrenメソッドは呼び出されません。 -
getViewCount
-
getView
-
replace
public void replace(int offset, int length, View[] views) 子ビューを置換します。 削除するビューがない場合、これは挿入として動作します。 追加するビューがない場合、これは削除として動作します。 削除されるビューの親はnullに設定され、ガベージ・コレクションが行えるようにそれらのビューへの内部参照が削除されます。 -
getChildAllocation
指定された、レンダリングする子ビューへの割り当てを取得します。 さまざまなビューの配置場所を探せます。- オーバーライド:
getChildAllocation、クラスView- パラメータ:
index- 子のインデックス。0以上でgetViewCount()より小さい値a- このビューに対する割当て- 戻り値:
- 子に対する割当て
-
modelToView
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。- 定義:
modelToView、クラスView- パラメータ:
pos- 変換対象の位置>= 0a- 描画するために割り当てられた領域b-Position.Bias.ForwardまたはPosition.Bias.Backwardのバイアス値- 戻り値:
- 指定された位置のバウンディング・ボックス
- スロー:
BadLocationException- 指定された位置が、関連するドキュメント内の有効な位置を示さない場合- 関連項目:
-
modelToView
public Shape modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a) throws BadLocationException ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。- オーバーライド:
modelToView、クラスView- パラメータ:
p0- 変換対象の位置>= 0b0- 位置が2つのビューの境界である場合に、p0によって表される直前の文字または次の文字へのバイアス。Position.Bias.ForwardまたはPosition.Bias.Backwardp1- 変換対象の位置>= 0b1- 位置が2つのビューの境界である場合に、p1によって表される直前の文字または次の文字へのバイアスa- 描画するために割り当てられた領域- 戻り値:
- 指定された位置のバウンディング・ボックス
- スロー:
BadLocationException- 指定された位置が、関連するドキュメント内の有効な位置を示さない場合IllegalArgumentException- bias引数が無効な場合- 関連項目:
-
viewToModel
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias) ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。- 定義:
viewToModel、クラスView- パラメータ:
x- 変換するビュー位置のx座標>= 0y- 変換するビュー位置のy座標>= 0a- 描画するために割り当てられた領域bias-Position.Bias.ForwardまたはPosition.Bias.Backward- 戻り値:
- 指定されたビュー内の点をもっとも適切に表現するモデル内の位置>= 0
- 関連項目:
-
getNextVisualPositionFrom
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException キャレットが配置される可能性のある、視覚的に表された次のモデル位置を決定する手段を提供します。 ビューによっては、可視ではないか、モデル内と同じ順序でないか、またはモデル内の一部の位置へのアクセスを許可しない場合があります。 これは、getNextNorthSouthVisualPositionFrom(int, Position.Bias, Shape, int, Position.Bias[])およびgetNextEastWestVisualPositionFrom(int, Position.Bias, Shape, int, Position.Bias[])の便利なメソッドです。 このメソッドを使用すると、0以上の範囲内で変換する位置を指定できます。 値が-1の場合は、位置が自動的に計算されます。 値が-1よりも小さい場合は、BadLocationExceptionがスローされます。- オーバーライド:
getNextVisualPositionFrom、クラスView- パラメータ:
pos- 変換対象の位置b-Position.Bias.ForwardまたはPosition.Bias.Backwardのバイアス値a- 描画するために割り当てられた領域direction- 現在位置からの方向。これは、キーボードに通常存在する矢印キーと見なすことができ、次のいずれかになる。SwingConstants.WESTSwingConstants.EASTSwingConstants.NORTHSwingConstants.SOUTH
biasRet- チェックされたバイアスを含む配列- 戻り値:
- 次の可視の位置をもっともよく表す、モデル内の位置
- スロー:
BadLocationException- 指定された位置がドキュメント内の有効な位置でない場合IllegalArgumentException-directionが無効である場合
-
getViewIndex
public int getViewIndex(int pos, Position.Bias b) モデル内の指定された位置を表す子ビューのインデックスを返します。 下位互換のためのgetViewIndexByPositionメソッドを呼び出すためにこのメソッドを実装しています。- オーバーライド:
getViewIndex、クラスView- パラメータ:
pos- 位置>= 0b- バイアス- 戻り値:
- 指定された位置を表すビューのインデックス。その位置を表すビューがない場合は -1
- 導入されたバージョン:
- 1.3
-
isBefore
protected abstract boolean isBefore(int x, int y, Rectangle alloc) ある点が、矩形範囲の前にあるかどうかを判定します。- パラメータ:
x- X座標>= 0y- Y座標>= 0alloc- 矩形- 戻り値:
- 点が指定された範囲の前にある場合にtrue
-
isAfter
protected abstract boolean isAfter(int x, int y, Rectangle alloc) ある点が、矩形範囲の後ろにあるかどうかを判定します。- パラメータ:
x- X座標>= 0y- Y座標>= 0alloc- 矩形- 戻り値:
- 点が指定された範囲の後にある場合にtrue
-
getViewAtPoint
-
childAllocation
protected abstract void childAllocation(int index, Rectangle a) 指定された子への割り当てを返します。- パラメータ:
index- 子のインデックス。0以上でgetViewCount()より小さい値a- 入口でのボックスの内部への割当て。および、出口でのインデックス位置の子ビューの割当て。
-
getViewAtPosition
-
getViewIndexAtPosition
protected int getViewIndexAtPosition(int pos) モデル内の指定された位置を表す子ビューのインデックスを取得します。 このメソッドは、それぞれの子要素に対して子ビューがある場合に、ビューを取り出すために実装されています。- パラメータ:
pos- 位置>= 0- 戻り値:
- 指定された位置を表すビューのインデックス。その位置を表すビューがない場合は -1
-
getInsideAllocation
ビューに指定された不変の割当てを、内部割当てを表す可変の割当てに変換します(上、左、下、右のインセットで指定された割当ての境界を削除する場合など)。 子ビューへの割当てを表すために戻り値が変わってしまうことも予想されます。 これを実装すると、Rectangleを多く作成しすぎないようにインスタンス変数を再利用できます。 通常、このメソッドを呼び出すと、childAllocationメソッドに送られます。- パラメータ:
a- ビューに指定された割当て- 戻り値:
- マージンがすべて削除されたあとのビュー内部を表す割当て。指定された割当てが
nullの場合、戻り値はnull
-
setParagraphInsets
protected void setParagraphInsets(AttributeSet attr) 指定された属性から選ばれた段落属性から、インセットを設定します。- パラメータ:
attr- 属性
-
setInsets
protected void setInsets(short top, short left, short bottom, short right) ビューのインセットを設定します。- パラメータ:
top- 上のインセット>= 0left- 左のインセット>= 0bottom- 下のインセット>= 0right- 右のインセット>= 0
-
getLeftInset
protected short getLeftInset()左のインセットを取得します。- 戻り値:
- インセット>= 0
-
getRightInset
protected short getRightInset()右のインセットを取得します。- 戻り値:
- インセット>= 0
-
getTopInset
protected short getTopInset()上のインセットを取得します。- 戻り値:
- インセット>= 0
-
getBottomInset
protected short getBottomInset()下のインセットを取得します。- 戻り値:
- インセット>= 0
-
getNextNorthSouthVisualPositionFrom
protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException カーソルを置くことのできる、次の視覚的な位置を返します。方向は上(north)または下(south)になります。- パラメータ:
pos- 変換対象の位置>= 0b-Position.Bias.ForwardまたはPosition.Bias.Backwardのバイアス値a- 描画するために割り当てられた領域direction- 現在位置からの方向。これは、キーボードに通常存在する矢印キーと見なすことができ、次のいずれかになる。SwingConstants.NORTHSwingConstants.SOUTH
biasRet- チェックされたバイアスを含む配列- 戻り値:
- 次の上または下の位置をもっともよく表すモデル内の位置
- スロー:
BadLocationException- ドキュメント・モデル内の不適切なロケーションIllegalArgumentException-directionが無効である場合- 関連項目:
-
getNextEastWestVisualPositionFrom
protected int getNextEastWestVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException カーソルを置くことのできる、次の視覚的な位置を返します。方向は右(east)または左(west)になります。- パラメータ:
pos- 変換対象の位置>= 0b-Position.Bias.ForwardまたはPosition.Bias.Backwardのバイアス値a- 描画するために割り当てられた領域direction- 現在位置からの方向。これは、キーボードに通常存在する矢印キーと見なすことができ、次のいずれかになる。SwingConstants.WESTSwingConstants.EAST
biasRet- チェックされたバイアスを含む配列- 戻り値:
- 次の左または右の位置をもっともよく表すモデル内の位置
- スロー:
BadLocationException- ドキュメント・モデル内の不適切なロケーションIllegalArgumentException-directionが無効である場合- 関連項目:
-
flipEastAndWestAtEnds
protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias) 次のビューをどの方向に配置するかを決定します。 インデックスnのViewが考慮されます。 通常、Viewは左から右にレイアウトされるため、EASTへのViewは索引n + 1になり、WESTへのViewは索引n - 1になります。 双方向テキストなど一部の場合では、EASTへのViewをインデックスn+1ではなくインデックスn -1に、またはWESTへのViewをインデックスn - 1ではなくインデックスn+1にすることもできます。 この場合、このメソッドはtrueを返し、Viewが降順にレイアウトされていることを示します。ここでは無条件にfalseが返されます。
Viewを降順に配置する可能性がある場合、サブクラスはこのメソッドをオーバーライドします。- パラメータ:
position- モデルへの位置bias-Position.Bias.ForwardまたはPosition.Bias.Backward- 戻り値:
- false
-