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.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
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 CompositeView(Element elem)
指定された要素のCompositeView
を構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 protected abstract void
childAllocation(int index, Rectangle a)
指定された子への割り当てを返します。protected boolean
flipEastAndWestAtEnds(int position, Position.Bias bias)
次のビューをどの方向に配置するかを決定します。protected short
getBottomInset()
下のインセットを取得します。Shape
getChildAllocation(int index, Shape a)
指定された、レンダリングする子ビューへの割り当てを取得します。protected Rectangle
getInsideAllocation(Shape a)
ビューに指定された不変の割当てを、内部割当てを表す可変の割当てに変換します(上、左、下、右のインセットで指定された割当ての境界を削除する場合など)。protected short
getLeftInset()
左のインセットを取得します。protected int
getNextEastWestVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
カーソルを置くことのできる、次の視覚的な位置を返します。方向は右(east)または左(west)になります。protected int
getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
カーソルを置くことのできる、次の視覚的な位置を返します。方向は上(north)または下(south)になります。int
getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
キャレットが配置される可能性のある、視覚的に表された次のモデル位置を決定する手段を提供します。protected short
getRightInset()
右のインセットを取得します。protected short
getTopInset()
上のインセットを取得します。View
getView(int n)
コンテナ内のn番目のビューを返します。protected abstract View
getViewAtPoint(int x, int y, Rectangle alloc)
指定された座標の子ビューを取得します。protected View
getViewAtPosition(int pos, Rectangle a)
モデル内で指定された位置を表す子ビューを取得します。int
getViewCount()
このビューの子ビューの数を返します。int
getViewIndex(int pos, Position.Bias b)
モデル内の指定された位置を表す子ビューのインデックスを返します。protected int
getViewIndexAtPosition(int pos)
モデル内の指定された位置を表す子ビューのインデックスを取得します。protected abstract boolean
isAfter(int x, int y, Rectangle alloc)
ある点が、矩形範囲の後ろにあるかどうかを判定します。protected abstract boolean
isBefore(int x, int y, Rectangle alloc)
ある点が、矩形範囲の前にあるかどうかを判定します。protected void
loadChildren(ViewFactory f)
ビューを初期化するためにすべての子をロードします。Shape
modelToView(int pos, Shape a, Position.Bias b)
ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。Shape
modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a)
ドキュメント・モデルの座標空間からビューの座標空間へのマッピングを提供します。void
replace(int offset, int length, View[] views)
子ビューを置換します。protected void
setInsets(short top, short left, short bottom, short right)
ビューのインセットを設定します。protected void
setParagraphInsets(AttributeSet attr)
指定された属性から選ばれた段落属性から、インセットを設定します。void
setParent(View parent)
ビューの親を設定します。int
viewToModel(float x, float y, Shape a, Position.Bias[] bias)
ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。クラス javax.swing.text.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
-
コンストラクタの詳細
-
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
指定された、レンダリングする子ビューへの割り当てを取得します。 さまざまなビューの配置場所を探せます。- オーバーライド:
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.Backward
p1
- 変換対象の位置>= 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.WEST
SwingConstants.EAST
SwingConstants.NORTH
SwingConstants.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
指定された座標の子ビューを取得します。- パラメータ:
x
- X座標>= 0y
- Y座標>= 0alloc
- 入口での親の割当て。出口で子の割当てに変更- 戻り値:
- 子ビュー
-
childAllocation
protected abstract void childAllocation(int index, Rectangle a)指定された子への割り当てを返します。- パラメータ:
index
- 子のインデックス。0以上でgetViewCount()より小さい値a
- 入口でのボックスの内部への割当て。および、出口でのインデックス位置の子ビューの割当て。
-
getViewAtPosition
モデル内で指定された位置を表す子ビューを取得します。 このメソッドは、それぞれの子要素に対して子ビューがある場合に、ビューを取り出すために実装されています。- パラメータ:
pos
- 位置>= 0a
- 入口でのボックスの内部への割当て。および、出口での位置を含むビューの割当て- 戻り値:
- 指定された位置を表すビュー。存在しない場合は
null
-
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.NORTH
SwingConstants.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.WEST
SwingConstants.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
-