JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.text
クラス CompositeView

java.lang.Object
  上位を拡張 javax.swing.text.View
      上位を拡張 javax.swing.text.CompositeView
すべての実装されたインタフェース:
SwingConstants
直系の既知のサブクラス:
BoxView

public abstract class CompositeView
extends View

CompositeView は、1 つ以上の子ビューを管理する、抽象 View の実装です (CompositeView では比較的少数の子ビューを管理する)。CompositeView は、BoxView など、子の View を含む、View の実装の開始ポイントとして使用されます。子の View のコレクションを管理するサブクラスでは、replace(int, int, javax.swing.text.View[]) メソッドが使用されます。DocumentListener 通知中に Viewreplace を呼び出すので、通常 replace を直接呼び出す必要はありません。

CompositeView は、子の View にレイアウトポリシーを強制しませんが、これから含むことになる子の View の挿入は許可します。インセットは、setInsets(short, short, short, short) または setParagraphInsets(javax.swing.text.AttributeSet) によって設定できます。

View の抽象メソッドに加え、CompositeView のサブクラスもオーバーライドする必要があります。


フィールドの概要
 
クラス 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)
          カーソルを置くことのできる、次の視覚的な位置を返します。
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, getToolTipText, getViewFactory, getViewIndex, 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(javax.swing.text.View) メソッドによって呼び出されます。サブクラスは、このメソッドを再実装して別の方法で子ビューを初期化できます。デフォルトの実装は、子要素ごとに子ビューを作成します。

パラメータ:
f - ビューファクトリ
関連項目:
setParent(javax.swing.text.View)

setParent

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

replace

public void replace(int offset,
                    int length,
                    View[] views)
子ビューを置換します。削除するビューがない場合は、このメソッドが挿入として動作し、追加するビューがない場合は、このメソッドが削除として動作します。削除されるビューは null に設定された親を持ち、削除されるビューの内部参照をしているので、ガベージとして回収できます。

オーバーライド:
クラス View 内の replace
パラメータ:
offset - 新規ビューを挿入するための、子ビューの開始インデックス。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 - 描画のために割り当てられた領域
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
ドキュメントモデルの座標空間からビューの座標空間へのマッピングを提供します。

オーバーライド:
クラス View 内の modelToView
パラメータ:
p0 - 変換対象の位置 >= 0
b0 - 位置が 2 つのビューの境界である場合に、p0 によって表される直前の文字または次の文字へのバイアス。Position.Bias.Forward または Position.Bias.Backward
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 - 描画のために割り当てられた領域
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[]) の簡易メソッドです。

オーバーライド:
クラス View 内の getNextVisualPositionFrom
パラメータ:
pos - 変換対象の位置 >= 0
b - Position.Bias.Forward または Position.Bias.Backward のバイアス値
a - 描画のために割り当てられた領域
direction - 現在位置からの方向。これは、キーボードに通常存在する矢印キーと見なすことができ、 次のどれかになる
  • SwingConstants.WEST
  • SwingConstants.EAST
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
biasRet - チェックされたバイアスを含む配列
戻り値:
次の可視の位置をもっともよく表すモデル内の位置
例外:
BadLocationException - @exception IllegalArgumentException direction が無効な場合

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
カーソルを置くことのできる、次の視覚的な位置を返します。方向は上 (north) または下 (south) になります。

パラメータ:
pos - 変換対象の位置 >= 0
b - Position.Bias.Forward または Position.Bias.Backward のバイアス値
a - 描画のために割り当てられた領域
direction - 現在位置からの方向。これは、キーボードに通常存在する矢印キーと見なすことができ、 次のどれかになる
  • SwingConstants.NORTH
  • SwingConstants.SOUTH
biasRet - チェックされたバイアスを含む配列
戻り値:
次の上 (north) または下 (south) の位置をもっともよく表すモデル内の位置
例外:
BadLocationException - @exception 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 - 変換対象の位置 >= 0
b - Position.Bias.Forward または Position.Bias.Backward のバイアス値
a - 描画のために割り当てられた領域
direction - 現在位置からの方向。これは、キーボードに通常存在する矢印キーと見なすことができ、 次のどれかになる
  • SwingConstants.WEST
  • SwingConstants.EAST
biasRet - チェックされたバイアスを含む配列
戻り値:
次の左 (west) または右 (east) の位置をもっともよく表すモデル内の位置
例外:
BadLocationException - @exception 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

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。