- 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, javax.swing.text.View[])メソッドが使用されます。DocumentListener通知中にViewがreplaceを呼び出すので、通常replaceを直接呼び出す必要はありません。CompositeViewは、子のViewにレイアウト・ポリシーを強制しませんが、これから含むことになる子のViewの挿入は許可します。 インセットは、setInsets(short, short, short, short)またはsetParagraphInsets(javax.swing.text.AttributeSet)によって設定できます。Viewの抽象メソッドに加え、CompositeViewのサブクラスもオーバーライドする必要があります。isBefore(int, int, java.awt.Rectangle)- 指定されたViewの位置が、CompositeViewの視覚空間の前にあるかどうかを調べる。isAfter(int, int, java.awt.Rectangle)- 指定されたViewの位置が、CompositeViewの視覚空間の後ろにあるかどうかを調べる。getViewAtPoint(int, int, java.awt.Rectangle)- 指定された視覚位置のビューを返す。childAllocation(int, java.awt.Rectangle)- 特定の子Viewの境界を返す。CompositeViewのInsetにより境界をオフセットしたあとで、getChildAllocationはchildAllocationを呼び出す。
-
-
フィールドのサマリー
-
クラスjavax.swing.textで宣言されるフィールド。表示
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
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 CompositeView(Element elem)指定された要素のCompositeViewを構築します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 protected abstract voidchildAllocation(int index, Rectangle a)指定された子への割り当てを返します。protected booleanflipEastAndWestAtEnds(int position, Position.Bias bias)次のビューをどの方向に配置するかを決定します。protected shortgetBottomInset()下のインセットを取得します。ShapegetChildAllocation(int index, Shape a)指定された、レンダリングする子ビューへの割り当てを取得します。protected RectanglegetInsideAllocation(Shape a)ビューに指定された不変の割当てを、内部割当てを表す可変の割当てに変換します(上、左、下、右のインセットで指定された割当ての境界を削除する場合など)。protected shortgetLeftInset()左のインセットを取得します。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 shortgetRightInset()右のインセットを取得します。protected shortgetTopInset()上のインセットを取得します。ViewgetView(int n)コンテナ内のn番目のビューを返します。protected abstract ViewgetViewAtPoint(int x, int y, Rectangle alloc)指定された座標の子ビューを取得します。protected ViewgetViewAtPosition(int pos, Rectangle a)モデル内で指定された位置を表す子ビューを取得します。intgetViewCount()このビューの子ビューの数を返します。intgetViewIndex(int pos, Position.Bias b)モデル内の指定された位置を表す子ビューのインデックスを返します。protected intgetViewIndexAtPosition(int pos)モデル内の指定された位置を表す子ビューのインデックスを取得します。protected abstract booleanisAfter(int x, int y, Rectangle alloc)ある点が、矩形範囲の後ろにあるかどうかを判定します。protected abstract booleanisBefore(int x, int y, Rectangle alloc)ある点が、矩形範囲の前にあるかどうかを判定します。protected voidloadChildren(ViewFactory f)ビューを初期化するためにすべての子をロードします。ShapemodelToView(int pos, Shape a, Position.Bias b)ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。ShapemodelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a)ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。voidreplace(int offset, int length, View[] views)子ビューを置換します。protected voidsetInsets(short top, short left, short bottom, short right)ビューのインセットを設定します。protected voidsetParagraphInsets(AttributeSet attr)指定された属性から選ばれた段落属性から、インセットを設定します。voidsetParent(View parent)ビューの親を設定します。intviewToModel(float x, float y, Shape a, Position.Bias[] bias)ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。-
クラスjavax.swing.textで宣言されたメソッド。表示
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
-
-
-
-
コンストラクタの詳細
-
CompositeView
public CompositeView(Element elem)
指定された要素のCompositeViewを構築します。- パラメータ:
elem- このビューが扱う要素
-
-
メソッドの詳細
-
loadChildren
protected void loadChildren(ViewFactory f)
ビューを初期化するためにすべての子をロードします。 これは、setParent(javax.swing.text.View)メソッドによって呼び出されます。 サブクラスは、このメソッドを再実装して別の方法で子ビューを初期化できます。 デフォルトの実装は、子要素ごとに子ビューを作成します。- パラメータ:
f- ビュー・ファクトリ- 関連項目:
setParent(javax.swing.text.View)
-
setParent
public void setParent(View parent)
ビューの親を設定します。 このビューがまだ子を持たない場合は、loadChildrenメソッドの呼出しとともにスーパークラスの動作を提供するために実装し直されます。 子をコンストラクタの中にロードしないようにしてください。これは、親を設定する動作が原因となって、たとえば収容側Containerを取得するために、子が階層をさかのぼって検索しようとする可能性があるからです。 このビューが子を持つ場合、ビューはビュー階層内のある位置から別の位置へ移動しているので、loadChildrenメソッドは呼び出されません。
-
getViewCount
public int getViewCount()
このビューの子ビューの数を返します。- オーバーライド:
getViewCount、クラスView- 戻り値:
- ビューの数>= 0
- 関連項目:
getView(int)
-
getView
public View getView(int n)
コンテナ内のn番目のビューを返します。
-
replace
public void replace(int offset, int length, View[] views)子ビューを置換します。 削除するビューがない場合、これは挿入として動作します。 追加するビューがない場合、これは削除として動作します。 削除されるビューの親はnullに設定され、ガベージ・コレクションが行えるようにそれらのビューへの内部参照が削除されます。
-
getChildAllocation
public Shape getChildAllocation(int index, Shape a)
指定された、レンダリングする子ビューへの割り当てを取得します。 さまざまなビューの配置場所を探せます。- オーバーライド:
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- 指定された位置が、関連するドキュメント内の有効な位置を示さない場合- 関連項目:
View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
-
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引数が無効な場合- 関連項目:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.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
- 関連項目:
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
-
getNextVisualPositionFrom
public int getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationExceptionキャレットが配置される可能性のある、視覚的に表された次のモデル位置を決定する手段を提供します。 ビューによっては、可視ではないか、モデル内と同じ順序でないか、またはモデル内の一部の位置へのアクセスを許可しない場合があります。 これはgetNextNorthSouthVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])およびgetNextEastWestVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.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
protected abstract View getViewAtPoint(int x, int y, Rectangle alloc)
指定された座標の子ビューを取得します。- パラメータ:
x- X座標>= 0y- Y座標>= 0alloc- 入口での親の割当て。出口で子の割当てに変更- 戻り値:
- 子ビュー
-
childAllocation
protected abstract void childAllocation(int index, Rectangle a)指定された子への割り当てを返します。- パラメータ:
index- 子のインデックス。0以上でgetViewCount()より小さい値a- 入口でのボックスの内部への割当て。および、出口でのインデックス位置の子ビューの割当て。
-
getViewAtPosition
protected View getViewAtPosition(int pos, Rectangle a)
モデル内で指定された位置を表す子ビューを取得します。 このメソッドは、それぞれの子要素に対して子ビューがある場合に、ビューを取り出すために実装されています。- パラメータ:
pos- 位置>= 0a- 入口でのボックスの内部への割当て。および、出口での位置を含むビューの割当て- 戻り値:
- 指定された位置を表すビュー。存在しない場合は
null
-
getViewIndexAtPosition
protected int getViewIndexAtPosition(int pos)
モデル内の指定された位置を表す子ビューのインデックスを取得します。 このメソッドは、それぞれの子要素に対して子ビューがある場合に、ビューを取り出すために実装されています。- パラメータ:
pos- 位置>= 0- 戻り値:
- 指定された位置を表すビューのインデックス。その位置を表すビューがない場合は -1
-
getInsideAllocation
protected Rectangle getInsideAllocation(Shape a)
ビューに指定された不変の割当てを、内部割当てを表す可変の割当てに変換します(上、左、下、右のインセットで指定された割当ての境界を削除する場合など)。 子ビューへの割当てを表すために戻り値が変わってしまうことも予想されます。 これを実装すると、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が無効である場合- 関連項目:
getNextVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])
-
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が無効である場合- 関連項目:
getNextVisualPositionFrom(int, javax.swing.text.Position.Bias, java.awt.Shape, int, javax.swing.text.Position.Bias[])
-
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が降順にレイアウトされていることを示します。ここでは無条件にfalseが返されます。
Viewを降順に配置する可能性がある場合、サブクラスはこのメソッドをオーバーライドします。- パラメータ:
position- モデルへの位置bias-Position.Bias.ForwardまたはPosition.Bias.Backward- 戻り値:
- false
-
-