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

クラスStyleContext

  • すべての実装されたインタフェース:
    Serializable, AbstractDocument.AttributeContext
    直系の既知のサブクラス:
    StyleSheet


    public class StyleContext
    extends Object
    implements Serializable, AbstractDocument.AttributeContext
    書式および関連するリソースのプールです。 このクラスは、さまざまな書式定義によって再利用されるフォントおよび色などのさまざまなリソースのキャッシュを保持するコンテナになることで、リソースのグループの寿命を決めます。 必要な場合、これは関連リソースを最大限に共有するために複数のドキュメントで共有できます。

    また、このクラスは、属性の小さなセットに対する効率的なサポートを提供し、使用を共有することで属性を圧縮して、それらの変更不可能な性質を最大限に利用します。 多くの書式は複製されるので、共有の可能性が大きくなり、コピーが何度も使用されます。 大きなセットは共有の可能性を減少させるので、必然的に容量効率の劣った実装になります。

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

    関連項目:
    直列化された形式
    • フィールドの詳細

      • DEFAULT_STYLE

        public static final String DEFAULT_STYLE
        段落に接続されるデフォルトの論理書式に付けられる名前です。
        関連項目:
        定数フィールド値
    • コンストラクタの詳細

      • StyleContext

        public StyleContext​()
        新しいStyleContextオブジェクトを作成します。
    • メソッドの詳細

      • getDefaultStyleContext

        public static final StyleContext getDefaultStyleContext​()
        独自のコンテキストを定義または供給しないすべてのドキュメントによって共有される、デフォルトのAttributeContextを返します。
        戻り値:
        コンテキスト
      • addStyle

        public Style addStyle​(String nm,
                              Style parent)
        書式階層に新しい書式を追加します。 書式の属性は下から上に向かって解釈処理されるので、子で指定された属性は親で指定された属性をオーバーライドします。
        パラメータ:
        nm - 書式の名前。ドキュメント内の名前付き書式のコレクションの中で一意である必要がある。 書式に名前が付いていない場合はこの名前をnullにしても構わないが、呼出し側は名前のない書式が名前で取得できない場合に返される参照を管理する責任がある。 名前のない書式は、スタイル・ランで見られるような文字属性のオーバーライドなどで便利な場合がある。
        parent - 親書式。 指定されていない属性がほかの書式で解釈処理される必要がない場合はnullも可。
        戻り値:
        作成された書式
      • removeStyle

        public void removeStyle​(String nm)
        以前にドキュメントに追加された名前付き書式を削除します。
        パラメータ:
        nm - 削除される書式の名前
      • getStyle

        public Style getStyle​(String nm)
        ドキュメントに以前に追加された名前付きの書式を取得します。
        パラメータ:
        nm - 書式の名前
        戻り値:
        書式
      • getStyleNames

        public Enumeration<?> getStyleNames​()
        定義されている書式の名前を取得します。
        戻り値:
        名前の列挙のリスト
      • addChangeListener

        public void addChangeListener​(ChangeListener l)
        書式が追加または削除されるときに変更を追跡するリスナーを追加します。
        パラメータ:
        l - 変更リスナー
      • removeChangeListener

        public void removeChangeListener​(ChangeListener l)
        書式の追加または削除を追跡していたリスナーを削除します。
        パラメータ:
        l - 変更リスナー
      • getChangeListeners

        public ChangeListener[] getChangeListeners​()
        addChangeListener()でこのStyleContextに追加される、すべてのChangeListenerの配列を返します。
        戻り値:
        追加されたすべてのChangeListener。リスナーが追加されていない場合は空の配列
        導入されたバージョン:
        1.4
      • getFont

        public Font getFont​(AttributeSet attr)
        属性セットからフォントを取得します。 このメソッドは、指定されたAttributeSetに対して、キャッシュされたフォントの取得を試みるために実装されます。この取得が失敗した場合、フォント機能が解釈処理され、フォントは低レベルのフォント・キャッシュから取得されます。
        パラメータ:
        attr - 属性セット
        戻り値:
        フォント
      • getForeground

        public Color getForeground​(AttributeSet attr)
        属性セットを取得してフォアグラウンド・カラー指定に変換します。 このメソッドは、明るさや色合い等を強調するために使われることがあります。デフォルトでは、単純にStyleConstants.Foreground属性で指定された値を返します。
        パラメータ:
        attr - 属性セット
        戻り値:
      • getBackground

        public Color getBackground​(AttributeSet attr)
        属性セットを取得してバックグラウンド・カラー指定に変換します。 このメソッドは、明るさや色合い等を強調するために使われることがあります。デフォルトでは、単純にStyleConstants.Background属性で指定された値を返します。
        パラメータ:
        attr - 属性セット
        戻り値:
      • getFont

        public Font getFont​(String family,
                            int style,
                            int size)
        新しいフォントを取得します。 このメソッドは、フォントがキャッシュされている場合にキャッシュからフォントを返します。 フォントがキャッシュされていない場合、フォントがキャッシュに追加されます。 これは、基本的に1.1のフォント機能の低レベルのキャッシュです。
        パラメータ:
        family - フォント・ファミリ(「Monospaced」など)
        style - フォントの書式(Font.PLAINなど)
        size - ポイント・サイズ>= 1
        戻り値:
        新規フォント
      • getFontMetrics

        public FontMetrics getFontMetrics​(Font f)
        フォントのフォント・メトリックスを返します。
        パラメータ:
        f - フォント
        戻り値:
        メトリックス
      • reclaim

        public void reclaim​(AttributeSet a)
        MutableAttributeSetの実装によって必要とされなくなったセットを返します。 このメソッドは、弱参照のない1.1での処理に便利です。 通常、このメソッドはMutableAttributeSetの実装のfinalizeメソッドによって呼び出されます。

        このメソッドはスレッド・セーフですが、ほとんどのSwingメソッドは違います。 詳細は、Swingでの並行性に関連しているサイトを参照してください。

        定義:
        reclaim、インタフェース: AbstractDocument.AttributeContext
        パラメータ:
        a - 再生するセット
      • getCompressionThreshold

        protected int getCompressionThreshold​()
        一意で変更が不可能なセットに圧縮を試みるキーと値のペアの最大数を返します。 この制限を超えるセットはハッシュ・テーブルを使い、MutableAttributeSetになります。
        戻り値:
        しきい値
      • createSmallAttributeSet

        protected StyleContext.SmallAttributeSet createSmallAttributeSet​(AttributeSet a)
        共有可能でコンパクトな属性セットを作成します。 これは、サブクラスでSmallAttributeSetの動作を変更する場合に、サブクラスで利用するためのフックです。 このメソッドは、属性変換を提供するAttributeSetを返すために、実装し直すこともできます。
        パラメータ:
        a - コンパクトな形式で表現される属性セット。
        戻り値:
        共有できるコンパクトな属性のセット
      • createLargeAttributeSet

        protected MutableAttributeSet createLargeAttributeSet​(AttributeSet a)
        メモリー効率より処理時間を優先する、大きいサイズの属性セットを作成します。 通常、このセットの共有は困難です。 これは、大きいサイズの属性格納形式(デフォルトではSimpleAttributeSet)の動作をサブクラスで変更する必要がある場合に、サブクラスで利用するためのフックです。 このメソッドは、属性変換を提供するMutableAttributeSetを返すために、実装し直すこともできます。
        パラメータ:
        a - サイズの大きい形式で表現される属性セット。
        戻り値:
        時間のためにスペースをトレードオフするべきである大きなセットの属性
      • toString

        public String toString​()
        書式コンテキストを文字列に変換します。
        オーバーライド:
        toString、クラス: Object
        戻り値:
        文字列
      • writeAttributes

        public void writeAttributes​(ObjectOutputStream out,
                                    AttributeSet a)
                             throws IOException
        属性を書き込むコンテキスト固有の処理です。
        パラメータ:
        out - 出力ストリーム
        a - 属性セット
        例外:
        IOException - 入出力エラーが発生した場合
      • readAttributes

        public void readAttributes​(ObjectInputStream in,
                                   MutableAttributeSet a)
                            throws ClassNotFoundException,
                                   IOException
        属性を読み込むコンテキスト固有の処理です。
        パラメータ:
        in - 属性データを読み込むオブジェクト・ストリーム。
        a - 属性定義を配置する属性セット。
        例外:
        ClassNotFoundException - オブジェクト・ストリームを読み込むときに検出された場合、上に渡される。
        IOException - オブジェクト・ストリームを読み込むときに検出された場合、上に渡される。
      • writeAttributeSet

        public static void writeAttributeSet​(ObjectOutputStream out,
                                             AttributeSet a)
                                      throws IOException
        直列化のために、指定されたオブジェクト・ストリームに属性セットを書き込みます。 このメソッドは特別に注意して、registerStaticAttributeKeyメソッドで登録されているstatic属性キーを処理します。 staticキーとして登録されていない属性キーは直接直列化されます。 すべての値が直列化可能です。
        パラメータ:
        out - 出力ストリーム
        a - 属性セット
        例外:
        IOException - 入出力エラーが発生した場合
      • readAttributeSet

        public static void readAttributeSet​(ObjectInputStream in,
                                            MutableAttributeSet a)
                                     throws ClassNotFoundException,
                                            IOException
        指定されたオブジェクト入力ストリームから、writeAttributeSetで以前に書き込まれている属性セットを読み込みます。 このメソッドは、registerStaticAttributeKeyメソッドで登録されているキーだけを考慮する現在の仮想マシンでstaticオブジェクトだったキーをstaticオブジェクトに復元しようとします。 ストリームから取り出された属性は、指定された変更が可能なセットに配置されます。
        パラメータ:
        in - 属性データを読み込むオブジェクト・ストリーム。
        a - 属性定義を配置する属性セット。
        例外:
        ClassNotFoundException - オブジェクト・ストリームを読み込むときに検出された場合、上に渡される。
        IOException - オブジェクト・ストリームを読み込むときに検出された場合、上に渡される。
      • registerStaticAttributeKey

        public static void registerStaticAttributeKey​(Object key)
        オブジェクトを、属性セットでキーとして使われるstaticオブジェクトとして登録します。 その結果、そのキーは特別に直列化が処理されるようになります。

        1.1仮想マシン上での処理の場合、このメソッドはクラス名に連結されたtoStringによって返される値を使用します。 toStringによって返される値は、後で再計算されるときに同じになるようにするためには、その中にクラス参照を持たせることはできません。それは、Object内の定義から再実装されなければいけません。

        パラメータ:
        key - null以外のオブジェクト・キー
      • getStaticAttribute

        public static Object getStaticAttribute​(Object key)
        直前にregisterStaticAttributeKeyに登録されたオブジェクトを返します。
        パラメータ:
        key - オブジェクト・キー
        戻り値:
        直前にregisterStaticAttributeKeyに登録されたオブジェクトを返します