public class ComponentView extends View
コンポーネントは、Component.getAlignmentYによって返された値に従って、テキスト・ベースラインに相対的に配置されます。 Swingコンポーネントの場合、JComponent.setAlignmentYメソッドを使うと、この値を簡単に設定できます。 たとえば、値を0.75に設定すると、コンポーネントの75パーセントがベースラインの上に、25パーセントがベースラインの下になります。
このクラス実装により、すべてのコンポーネント・アクセスがイベント・スレッド上で確実に行われ、複数スレッドが存在する場合でも(つまり、モデル変更の非同期通知からなど)適切に動作する必要のある処理が追加で実行されます。
使用されるコンポーネントは、createComponentメソッドの戻り値で決定されます。 このメソッドのデフォルトの実装では、(StyleConstants.getComponentを呼び出すことで)要素の属性として保持されているコンポーネントが返されます。 この動作には、複数のコンポーネント(すなわち共有モデル)では使用できないという制限があります。 サブクラスでは、createComponentを実装することでこの制約を取り消し、属性に含まれているある種の仕様に基づいたコンポーネントを実際に作成できます。 htmlパッケージのObjectViewクラスは、共有モデルの複数コンポーネント・ビューをサポートするComponentViewの実装の例です。
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXISBOTTOM, 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) |
ビューの座標空間からモデルの論理座標空間へのマッピングを提供します。
|
append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, setSize, updateChildren, updateLayout, viewToModelpublic ComponentView(Element elem)
elem - デコレートされる要素protected Component createComponent()
public final Component getComponent()
public void paint(Graphics g, Shape a)
paint、クラスViewg - グラフィックス・コンテキストa - 形状View.paint(java.awt.Graphics, java.awt.Shape)public float getPreferredSpan(int axis)
getPreferredSpan、クラスViewaxis - View.X_AXISまたはView.Y_AXISIllegalArgumentException - 軸が無効な場合View.getPreferredSpan(int)public float getMinimumSpan(int axis)
getMinimumSpan、クラスViewaxis - View.X_AXISまたはView.Y_AXISIllegalArgumentException - 軸が無効な場合View.getPreferredSpan(int)public float getMaximumSpan(int axis)
getMaximumSpan、クラスViewaxis - View.X_AXISまたはView.Y_AXISIllegalArgumentException - 軸が無効な場合View.getPreferredSpan(int)public float getAlignment(int axis)
getAlignment、クラスViewaxis - View.X_AXISまたはView.Y_AXISpublic void setParent(View p)
getContainerによって返された値に設定されます。 親ビュー・パラメータの値がnullの場合、このビューはクリーンアップ中であるため、コンポーネントはその親から削除されます。
コンポーネントの階層の変更は、コンポーネントのロックに影響を与えることがあるため、View階層に対して安全ではありません。 したがって、この機能は、イベント・スレッド上の場合にはただちに実行され、別のスレッドから呼び出された場合(非同期の更新からの変更の通知の場合)はイベント・キューに入れられます。
public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
modelToView、クラスViewpos - 変換対象の位置。0以上a - 描画するために割り当てられた領域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)
viewToModel、クラスViewx - X座標。0以上y - Y座標。0以上a - 描画するために割り当てられた領域View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[]) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。