|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.swing.text.View javax.swing.text.ComponentView
public class 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 Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。