JavaTM 2 Platform
Std. Ed. v1.3

javax.swing.text
クラス CompositeView

java.lang.Object
  |
  +--javax.swing.text.View
        |
        +--javax.swing.text.CompositeView
すべての実装インタフェース:
SwingConstants
直系の既知のサブクラス:
BoxView

public abstract class CompositeView
extends View

他のビュー (子を持つ) で構成されているビューです。複合ビューは、子のコンテナとして指定される必要があります。

子のコレクションを管理するサービス
以下のメソッドを使用してコレクションを管理できます。
子の配置
このクラスは abstract なのでレイアウトポリシーを実装していません。サイズが変更されているときに子を配置する setSize メソッドを実装することで、サブクラスで子がどのように配置されるのか指定することができます。
子をペイントする
このクラスでは、子はペイントしません。サブクラスはレイアウト情報を使って、クリッピング領域と交差する可視である子に、子ビューの位置に設定された Shape 引数でペイントを呼び出します。
「DocumentEvent」情報の適切な子への伝播
モデルとビューの変換を適切な子へ伝播する


クラス javax.swing.text.View から継承したフィールド
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
 
インタフェース javax.swing.SwingConstants から継承したフィールド
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, 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)
          サブクラスでは、位置に基づく条件を満たす場合に true を返すように、このメソッドをオーバーライドできます。
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)
          カーソルを置くことのできる、次の視覚的な位置を返します。
protected  int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)
          カーソルを置くことのできる、次の視覚的な位置を返します。
 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 p0, Position.Bias b0, int p1, Position.Bias b1, Shape a)
          ドキュメントモデルの座標空間からビューの座標空間へのマッピングを提供します。
 Shape modelToView(int pos, Shape a, Position.Bias b)
          ドキュメントモデルの座標空間からビューの座標空間へのマッピングを提供します。
 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, getViewFactory, insert, insertUpdate, isVisible, modelToView, paint, preferenceChanged, remove, removeAll, removeUpdate, setSize, updateChildren, updateLayout, viewToModel
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CompositeView

public CompositeView(Element elem)
指定された要素の CompositeView を構築します。
パラメータ:
elem - このビューが扱う要素
メソッドの詳細

loadChildren

protected void loadChildren(ViewFactory f)
ビューを初期化するためにすべての子をロードします。このメソッドは、setParent メソッドによって呼び出されます。サブクラスは、このメソッドを再実装して別の方法で子ビューを初期化できます。デフォルトの実装は、子要素ごとに子ビューを作成します。
パラメータ:
f - ビューファクトリ
関連項目:
setParent(javax.swing.text.View)

setParent

public void setParent(View parent)
ビューの親を設定します。このビューがまだ子を持たない場合は、loadChildren メソッドの呼び出しとともにスーパークラスの動作を提供するために実装し直されます。子をコンストラクタの中にロードしないようにしてください。これは、親を設定する動作が原因となって、たとえば収容側コンテナを取得するために、子が階層をさかのぼって検索しようとするからです。このビューが子を持つ場合は、ビュー階層内のある位置から別の位置へ移動しているので、loadChildren メソッドは呼び出されません。
オーバーライド:
クラス View 内の setParent
パラメータ:
parent - ビューの親。ない場合は null

getViewCount

public int getViewCount()
このビューの子ビューの数を返します。
オーバーライド:
クラス View 内の getViewCount
戻り値:
ビューの数 >= 0
関連項目:
getView(int)

getView

public View getView(int n)
コンテナ内の n 番目のビューを返します。
オーバーライド:
クラス View 内の getView
パラメータ:
n - 取得するビューの番号 >= 0 && < getViewCount()
戻り値:
ビュー

replace

public void replace(int offset,
                    int length,
                    View[] views)
子ビューを置換します。削除するビューがない場合は、このメソッドが挿入として動作し、追加するビューがない場合は、このメソッドが削除として動作します。削除されるビューは null に設定された親を持ち、削除されるビューの内部参照をしているので、ガベージとして回収できます。
オーバーライド:
クラス View 内の replace
パラメータ:
index - 新規ビューを挿入するための、子ビューの開始インデックス。この値は 0 以上で、getViewCount 以下
length - 削除する現在の子ビューの数。この値は 0 以上で、(getViewCount() - offset) 以下
views - 追加する子ビュー。追加する子 (削除しやすい) がないことを示す場合は、null の可能性もある

getChildAllocation

public Shape getChildAllocation(int index,
                                Shape a)
指定された子ビューへの割り当てを取り出します。さまさまなビューの配置場所を探せます。
オーバーライド:
クラス View 内の getChildAllocation
パラメータ:
index - 子のインデックス >= 0 && < getViewCount()
a - このビューに対する割り当て
戻り値:
子に対する割り当て

modelToView

public Shape modelToView(int pos,
                         Shape a,
                         Position.Bias b)
                  throws BadLocationException
ドキュメントモデルの座標空間からビューの座標空間へのマッピングを提供します。
オーバーライド:
クラス View 内の modelToView
パラメータ:
pos - 変換対象の位置 >= 0
a - 描画のために割り当てられた領域
戻り値:
指定された位置のバウンディングボックス
例外:
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
ドキュメントモデルの座標空間からビューの座標空間へのマッピングを提供します。
オーバーライド:
クラス View 内の modelToView
パラメータ:
p0 - 変換対象の位置 >= 0
b0 - 位置が 2 つのビューの境界である場合に、p0 によって表される直前の文字または次の文字へのバイアス
p1 - 変換対象の位置 >= 0
b1 - 位置が 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)
ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。
オーバーライド:
クラス View 内の viewToModel
パラメータ:
x - 変換するビュー位置の x 座標 >= 0
y - 変換するビュー位置の y 座標 >= 0
a - 描画のために割り当てられた領域
戻り値:
ビュー内の指定された点をもっともよく表すモデル内の位置 >= 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
キャレットが配置される可能性のある、視覚的に表された次のモデル位置を決定する手段を提供します。ビューによっては、可視ではないか、モデル内と同じ順序でないか、またはモデル内の位置へのアクセスを許可しない場合があります。
オーバーライド:
クラス View 内の getNextVisualPositionFrom
パラメータ:
pos - 変換対象の位置 >= 0
a - 描画のために割り当てられた領域
direction - キーボード上に通常ある矢印キーと見なすことができる、現在の位置からの方向。SwingConstants.WEST、SwingConstants.EAST、SwingConstants.NORTH、または SwingConstants.SOUTH
戻り値:
次の可視位置をもっともよく表すモデル内の位置
例外:
BadLocationException -  
IllegalArgumentException - 方向が無効な場合

getViewIndex

public int getViewIndex(int pos,
                        Position.Bias b)
モデル内に指定された位置を表す子ビューインデックスを返します。下位互換のための getViewIndexByPosition メソッドを呼び出すためにこのメソッドを実装しています。
オーバーライド:
クラス View 内の getViewIndex
パラメータ:
pos - 位置 >= 0
戻り値:
指定された位置を表すビューのインデックス。位置を表すビューがない場合は、-1

isBefore

protected abstract boolean isBefore(int x,
                                    int y,
                                    Rectangle alloc)
ある点が、矩形範囲の前にあるかどうかを判定します。
パラメータ:
x - X 座標 >= 0
y - Y 座標 >= 0
alloc - 矩形
戻り値:
点が指定された範囲の前にある場合に true

isAfter

protected abstract boolean isAfter(int x,
                                   int y,
                                   Rectangle alloc)
ある点が、矩形範囲の後にあるかどうかを判定します。
パラメータ:
x - X 座標 >= 0
y - Y 座標 >= 0
alloc - 矩形
戻り値:
点が指定された範囲の後にある場合に true

getViewAtPoint

protected abstract View getViewAtPoint(int x,
                                       int y,
                                       Rectangle alloc)
指定された点の子ビューを取り出します。
パラメータ:
x - X 座標 >= 0
y - Y 座標 >= 0
alloc - 入り口での親の割り当て。出口では、子への割り当てに変更される
戻り値:
子ビュー

childAllocation

protected abstract void childAllocation(int index,
                                        Rectangle a)
指定された子への割り当てを返します。
パラメータ:
index - 子のインデックス >= 0 && < getViewCount()
a - 入り口での、ボックスの内部への割り当て。および、出口での、子ビューへの割り当て

getViewAtPosition

protected View getViewAtPosition(int pos,
                                 Rectangle a)
モデル内の指定された位置を示す子ビューを取り出します。それぞれの子要素に子ビューがある場合に、ビューを取り出すために実装されています。
パラメータ:
pos - 位置 >= 0
a - 入り口での、ボックスの内部への割り当て。および、出口での、割り当てられた位置を含むビューへの割り当て
戻り値:
指定された位置を表すビュー。ない場合は 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 - 上のインセット >= 0
left - 左のインセット >= 0
bottom - 下のインセット >= 0
right - 右のインセット >= 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
カーソルを置くことのできる、次の視覚的な位置を返します。方向は右 (east) または左 (west) になります。
戻り値:
渡された位置から左方向の次の位置

getNextEastWestVisualPositionFrom

protected int getNextEastWestVisualPositionFrom(int pos,
                                                Position.Bias b,
                                                Shape a,
                                                int direction,
                                                Position.Bias[] biasRet)
                                         throws BadLocationException
カーソルを置くことのできる、次の視覚的な位置を返します。方向は右 (east) または左 (west) になります。
戻り値:
渡された位置から左方向の次の位置

flipEastAndWestAtEnds

protected boolean flipEastAndWestAtEnds(int position,
                                        Position.Bias bias)
サブクラスでは、位置に基づく条件を満たす場合に true を返すように、このメソッドをオーバーライドできます。戻り値の true は、ビューが getNextVisualPositionFrom メソッドで -1 を返した場合に、右側 (east) の次のビューが現在のインデックスに対してオフセットが -1 となり、左側 (west) の次のビューがオフセット 1 になることを示します。通常の方向では、右 (east) のオフセットが 1、左 (west) のオフセットが -1 です (左から右に記述するテキストの場合)。
戻り値:
false

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.