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

クラスBasicTextUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.TextUI
javax.swing.plaf.basic.BasicTextUI
すべての実装されたインタフェース:
ViewFactory
直系の既知のサブクラス:
BasicEditorPaneUI, BasicTextAreaUI, BasicTextFieldUI, DefaultTextUI

public abstract class BasicTextUI extends TextUI implements ViewFactory

テキスト・コンポーネントのLook & Feelの基礎です。 このクラスは、JTextComponentの拡張のためのLook & Feelを作成するときに便利な、エディタ・ビューおよびコントローラの基本的なサービスを提供します。

ほとんどの状態は関連付けられたJTextComponentにバウンド・プロパティとして保持されており、UIはさまざまなプロパティのデフォルト値をインストールします。 このデフォルトは、すべてのプロパティのために何かをインストールします。 ただし通常は、LAF実装が追加の作業を行います。 少なくとも、LAFは一般的にキー・バインディングをインストールします。

また、JTextComponentに関連付けられたDocumentAbstractDocumentのサブクラスである場合、このクラスはいくつかの並行サポートも提供します。 ViewまたはView階層へのアクセスは、モデルを変更するスレッドとSwingイベント・スレッド(レンダリング、モデルとビュー座標変換などを行う)との間で直列化されます。 ルート・ビューにアクセスするときは、最初にAbstractDocumentで読取りロックを獲得して、そのロックをfinallyブロックで解放するようにしてください。

定義する必要がある重要なメソッドは、UIManagerからデフォルトを取り出すために使用されるキーの基礎として使用される、getPropertyPrefix()メソッドです。 文字列は、(例、Metal、Motif、など)という名前の特定のLAF部分がないTextUI (例、TextField、TextAreaなど)のタイプを反映する必要があります。

モデルのビューを構築するには、次に示す方法のいずれかを使います。

  1. 1つの方法は、単純にUIでViewFactoryインタフェースを定義し直すことです。 デフォルトでは、このUIはそれ自体がView実装のファクトリとして動作します。 これは、単純なファクトリに便利です。 この方法を実行するには、create(javax.swing.text.Element)メソッドを実装し直します。
  2. より複雑なドキュメントを作成するための一般的な方法は、EditorKit実装がファクトリを返すようにすることです。 EditorKitはある種のドキュメントを保守するために必要なあらゆる要素を結び付けるので、通常はファクトリがその重要な部分であり、EditorKit実装によって作成されるべきです。

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。