モジュール java.desktop
パッケージ javax.swing.text

クラスComponentView

java.lang.Object
javax.swing.text.View
javax.swing.text.ComponentView
すべての実装されたインタフェース:
SwingConstants
直系の既知のサブクラス:
FormView, ObjectView

public class ComponentView extends View
ビューのインタフェースを実装するコンポーネント・デコレータです。 要素の全体が、コンポーネントの表示に使用されます。 表示のみのViewの実装から対話型の軽量コンポーネントへのゲートウェイとして動作し、コンポーネントをView階層に埋め込めるようにします。

コンポーネントは、Component.getAlignmentYによって返された値に従って、テキスト・ベースラインに相対的に配置されます。 Swingコンポーネントの場合、JComponent.setAlignmentYメソッドを使うと、この値を簡単に設定できます。 たとえば、値を0.75に設定すると、コンポーネントの75パーセントがベースラインの上に、25パーセントがベースラインの下になります。

このクラス実装により、すべてのコンポーネント・アクセスがイベント・スレッド上で確実に行われ、複数スレッドが存在する場合でも(つまり、モデル変更の非同期通知からなど)適切に動作する必要のある処理が追加で実行されます。

使用されるコンポーネントは、createComponentメソッドの戻り値で決定されます。 このメソッドのデフォルトの実装では、(StyleConstants.getComponentを呼び出すことで)要素の属性として保持されているコンポーネントが返されます。 この動作には、複数のコンポーネント(すなわち共有モデル)では使用できないという制限があります。 サブクラスでは、createComponentを実装することでこの制約を取り消し、属性に含まれているある種の仕様に基づいたコンポーネントを実際に作成できます。 htmlパッケージのObjectViewクラスは、共有モデルの複数コンポーネント・ビューをサポートするComponentViewの実装の例です。