JavaTM Platform
Standard Ed. 6

javax.swing.text
クラス StyleContext

java.lang.Object
  上位を拡張 javax.swing.text.StyleContext
すべての実装されたインタフェース:
Serializable, AbstractDocument.AttributeContext
直系の既知のサブクラス:
StyleSheet

public class StyleContext
extends Object
implements Serializable, AbstractDocument.AttributeContext

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

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

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


入れ子のクラスの概要
 class StyleContext.NamedStyle
          通常、文字および段落の書式を表すために使用される属性のコレクションです。
 class StyleContext.SmallAttributeSet
          このクラスは、少数の属性を配列として格納します。
 
フィールドの概要
static String DEFAULT_STYLE
          段落に接続されるデフォルトの論理書式に付けられる名前です。
 
コンストラクタの概要
StyleContext()
          新しい StyleContext オブジェクトを作成します。
 
メソッドの概要
 AttributeSet addAttribute(AttributeSet old, Object name, Object value)
          指定されたセットに属性を追加し、その新しいセットを返します。
 AttributeSet addAttributes(AttributeSet old, AttributeSet attr)
          属性セットを要素に追加します。
 void addChangeListener(ChangeListener l)
          書式が追加または削除されるときに変更を追跡するリスナーを追加します。
 Style addStyle(String nm, Style parent)
          書式階層に新しい書式を追加します。
protected  MutableAttributeSet createLargeAttributeSet(AttributeSet a)
          メモリー効率より処理時間を優先する、大きいサイズの属性セットを作成します。
protected  StyleContext.SmallAttributeSet createSmallAttributeSet(AttributeSet a)
          共有可能でコンパクトな属性セットを作成します。
 Color getBackground(AttributeSet attr)
          属性セットを取得してバックグラウンドカラー指定に変換します。
 ChangeListener[] getChangeListeners()
          addChangeListener() でこの StyleContext に追加される、すべての ChangeListener の配列を返します。
protected  int getCompressionThreshold()
          一意で変更が不可能なセットに圧縮を試みるキーと値のペアの最大数を返します。
static StyleContext getDefaultStyleContext()
          独自のコンテキストを定義または供給しないすべてのドキュメントによって共有される、デフォルトの AttributeContext を返します。
 AttributeSet getEmptySet()
          空の属性セットを取得します。
 Font getFont(AttributeSet attr)
          属性セットからフォントを取得します。
 Font getFont(String family, int style, int size)
          新しいフォントを取得します。
 FontMetrics getFontMetrics(Font f)
          フォントメトリックスを返します。
 Color getForeground(AttributeSet attr)
          属性セットを取得してフォアグラウンドカラー指定に変換します。
static Object getStaticAttribute(Object key)
          直前に registerStaticAttributeKey に登録されたオブジェクトを返します。
static Object getStaticAttributeKey(Object key)
          key に登録される String を返します。
 Style getStyle(String nm)
          ドキュメントに以前に追加された名前付きの書式を取得します。
 Enumeration<?> getStyleNames()
          定義されている書式の名前を取得します。
 void readAttributes(ObjectInputStream in, MutableAttributeSet a)
          属性を読み込むコンテキスト固有の処理です。
static void readAttributeSet(ObjectInputStream in, MutableAttributeSet a)
          指定されたオブジェクト入力ストリームから、writeAttributeSet で以前に書き込まれている属性セットを読み込みます。
 void reclaim(AttributeSet a)
          MutableAttributeSet の実装によって必要とされなくなったセットを返します。
static void registerStaticAttributeKey(Object key)
          オブジェクトを、属性セットでキーとして使われる static オブジェクトとして登録します。
 AttributeSet removeAttribute(AttributeSet old, Object name)
          セットから属性を削除します。
 AttributeSet removeAttributes(AttributeSet old, AttributeSet attrs)
          要素の属性セットを削除します。
 AttributeSet removeAttributes(AttributeSet old, Enumeration<?> names)
          要素の属性セットを削除します。
 void removeChangeListener(ChangeListener l)
          書式の追加または削除を追跡していたリスナーを削除します。
 void removeStyle(String nm)
          以前にドキュメントに追加された名前付き書式を削除します。
 String toString()
          書式コンテキストを文字列に変換します。
 void writeAttributes(ObjectOutputStream out, AttributeSet a)
          属性を書き込むコンテキスト固有の処理です。
static void writeAttributeSet(ObjectOutputStream out, AttributeSet a)
          直列化のために、指定されたオブジェクトストリームに属性セットを書き込みます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

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)
属性セットからフォントを取得します。このメソッドは、指定された属性セットに対して、キャッシュされたフォントの取得を試みるために実装されます。 この取得が失敗した場合、フォント機能が解釈処理され、フォントは低レベルのフォントキャッシュから取得されます。

パラメータ:
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 - フォント
戻り値:
メトリックス

addAttribute

public AttributeSet addAttribute(AttributeSet old,
                                 Object name,
                                 Object value)
指定されたセットに属性を追加し、その新しいセットを返します。

このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。

定義:
インタフェース AbstractDocument.AttributeContext 内の addAttribute
パラメータ:
old - 旧属性セット
name - null 以外の属性名
value - 属性値
戻り値:
更新属性セット
関連項目:
MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)

addAttributes

public AttributeSet addAttributes(AttributeSet old,
                                  AttributeSet attr)
属性セットを要素に追加します。

このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。

定義:
インタフェース AbstractDocument.AttributeContext 内の addAttributes
パラメータ:
old - 旧属性セット
attr - 追加する属性
戻り値:
更新属性セット
関連項目:
MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)

removeAttribute

public AttributeSet removeAttribute(AttributeSet old,
                                    Object name)
セットから属性を削除します。

このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。

定義:
インタフェース AbstractDocument.AttributeContext 内の removeAttribute
パラメータ:
old - 旧属性セット
name - null 以外の属性名
戻り値:
更新属性セット
関連項目:
MutableAttributeSet.removeAttribute(java.lang.Object)

removeAttributes

public AttributeSet removeAttributes(AttributeSet old,
                                     Enumeration<?> names)
要素の属性セットを削除します。

このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。

定義:
インタフェース AbstractDocument.AttributeContext 内の removeAttributes
パラメータ:
old - 旧属性セット
names - 属性名
戻り値:
更新属性セット
関連項目:
MutableAttributeSet.removeAttributes(java.util.Enumeration)

removeAttributes

public AttributeSet removeAttributes(AttributeSet old,
                                     AttributeSet attrs)
要素の属性セットを削除します。

このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。

定義:
インタフェース AbstractDocument.AttributeContext 内の removeAttributes
パラメータ:
old - 旧属性セット
attrs - 属性
戻り値:
更新属性セット
関連項目:
MutableAttributeSet.removeAttributes(java.util.Enumeration)

getEmptySet

public AttributeSet getEmptySet()
空の属性セットを取得します。

定義:
インタフェース AbstractDocument.AttributeContext 内の getEmptySet
戻り値:
セット

reclaim

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

このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。

定義:
インタフェース AbstractDocument.AttributeContext 内の reclaim
パラメータ:
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()
書式コンテキストを文字列に変換します。

オーバーライド:
クラス Object 内の toString
戻り値:
文字列

writeAttributes

public void writeAttributes(ObjectOutputStream out,
                            AttributeSet a)
                     throws IOException
属性を書き込むコンテキスト固有の処理です。

例外:
IOException

readAttributes

public void readAttributes(ObjectInputStream in,
                           MutableAttributeSet a)
                    throws ClassNotFoundException,
                           IOException
属性を読み込むコンテキスト固有の処理です。

例外:
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 に登録されたオブジェクトを返します。


getStaticAttributeKey

public static Object getStaticAttributeKey(Object key)
key に登録される String を返します。

関連項目:
getStaticAttribute(java.lang.Object), registerStaticAttributeKey(java.lang.Object)

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。