|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.swing.text.View | +--javax.swing.text.ComponentView
ビューのインタフェースを実装するコンポーネントデコレータです。要素の全体が、コンポーネントの表示に使用されます。表示のみの View の実装から対話型の軽量コンポーネントへのゲートウェイとして動作し、コンポーネントを View 階層に埋め込めるようにします。
コンポーネントは、Component.getAlignmentY
によって返された値に従って、テキストのベースラインに相対的に配置されます。Swing コンポーネントの場合、この値はメソッド JComponent.setAlignmentY
を使用して簡単に設定できます。たとえば、値を 0.75
に設定すると、コンポーネントの 75 パーセントがベースラインの上に、コンポーネントの 25 パーセントがベースラインの下になります。
このクラス実装により、すべてのコンポーネントアクセスがイベントスレッド上で確実に行われ、複数スレッドが存在する場合でも (つまり、モデル変更の非同期通知からなど) 適切に動作する必要のある処理が追加で実行されます。
使用されるコンポーネントは、createComponent メソッドの戻り値で決定されます。このメソッドのデフォルトの実装では、(StyleConstants.getComponent を呼び出すことで) 要素の属性として保持されているコンポーネントが返されます。この動作には、複数のコンポーネント (すなわち共有モデル) では使用できないという制限があります。サブクラスでは、createComponent を実装することでこの制約を取り消し、属性に含まれているある種の仕様に基づいたコンポーネントを実際に作成できます。html パッケージの ObjectView クラスは、共有モデルの複数コンポーネントビューをサポートする ComponentView の実装の例です。
フィールドの概要 |
クラス 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 |
コンストラクタの概要 | |
ComponentView(Element elem)
新しい ComponentView オブジェクトを作成します。 |
メソッドの概要 | |
protected Component |
createComponent()
このビューに関連したコンポーネントを作成します。 |
float |
getAlignment(int axis)
ビューの望ましい整列を、軸に沿って決定します。 |
Component |
getComponent()
ビューに関連したコンポーネントを取り出します。 |
float |
getMaximumSpan(int axis)
ビューの最大スパンを、軸に沿って決定します。 |
float |
getMinimumSpan(int axis)
ビューの最小のスパンを、軸に沿って決定します。 |
float |
getPreferredSpan(int axis)
ビューの望ましいスパンを、軸に沿って決定します。 |
Shape |
modelToView(int pos,
Shape a,
Position.Bias b)
モデルの座標空間から、ビューの座標空間へのマッピングを提供します。 |
void |
paint(Graphics g,
Shape a)
実際の描画の動作は、コンポーネントがその親コンテナ (このビューを収容するコンテナ) との間にある関連性から発生します。 |
void |
setParent(View p)
子ビューの親を設定します。 |
int |
viewToModel(float x,
float y,
Shape a,
Position.Bias[] bias)
ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public ComponentView(Element elem)
elem
- デコレートされる要素メソッドの詳細 |
protected Component createComponent()
public final Component getComponent()
public void paint(Graphics g, Shape a)
View
内の paint
g
- グラフィックスコンテキストa
- 形状View.paint(java.awt.Graphics, java.awt.Shape)
public float getPreferredSpan(int axis)
View
内の getPreferredSpan
axis
- View.X_AXIS または View.Y_AXIS
IllegalArgumentException
- 軸が無効な場合View.getPreferredSpan(int)
public float getMinimumSpan(int axis)
View
内の getMinimumSpan
axis
- View.X_AXIS または View.Y_AXIS
IllegalArgumentException
- 軸が無効な場合View.getPreferredSpan(int)
public float getMaximumSpan(int axis)
View
内の getMaximumSpan
axis
- View.X_AXIS または View.Y_AXIS
IllegalArgumentException
- 軸が無効な場合View.getPreferredSpan(int)
public float getAlignment(int axis)
View
内の getAlignment
axis
- View.X_AXIS または View.Y_AXIS
public void setParent(View p)
getContainer
によって返された値に設定されます。親ビューパラメータの値が null の場合、このビューはクリーンアップ中であり、コンポーネントはその親から削除されます。
コンポーネントの階層の変更は、コンポーネントのロックに影響を与えることがあるため、View 階層に対して安全ではありません。したがって、この機能は、イベントスレッド上の場合にはただちに実行され、別のスレッドから呼び出された場合 (非同期の更新からの変更の通知の場合) はイベントキューに入れられます。
View
内の setParent
p
- 親public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
View
内の modelToView
pos
- 変換対象の位置 >= 0a
- 描画のために割り当てられた領域b
- 位置が 2 つのビューの境界である場合に、オフセットによって表される直前の文字または次の文字へのバイアス。b
の値は以下のどれかPosition.Bias.Forward
Position.Bias.Backward
BadLocationException
- 指定された位置が、関連するドキュメント内の有効な位置を表さない場合View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
View
内の viewToModel
x
- X 座標 >= 0y
- Y 座標 >= 0a
- 描画のために割り当てられた領域
View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.