JavaTM 2
Platform
Std. Ed. v1.4.0

javax.swing.text
クラス StyleContext

java.lang.Object
  |
  +--javax.swing.text.StyleContext
すべての実装インタフェース:
AbstractDocument.AttributeContext, Serializable
直系の既知のサブクラス:
StyleSheet

public class StyleContext
extends Object
implements Serializable, AbstractDocument.AttributeContext

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

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

警告: このクラスの直列化されたオブジェクトは、今後の Swing のリリースとは互換性を持ちません。現在の直列化サポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 では、すべての JavaBeansTM の長期運用サポートが、 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 メソッドは違います。詳細は、「Threads and Swing」を参照してください。

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

addAttributes

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

このメソッドはスレッドセーフですが、ほとんどの Swing メソッドは違います。詳細は、「Threads and Swing」を参照してください。

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

removeAttribute

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

このメソッドはスレッドセーフですが、ほとんどの Swing メソッドは違います。詳細は、「Threads and Swing」を参照してください。

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

removeAttributes

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

このメソッドはスレッドセーフですが、ほとんどの Swing メソッドは違います。詳細は、「Threads and Swing」を参照してください。

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

removeAttributes

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

このメソッドはスレッドセーフですが、ほとんどの Swing メソッドは違います。詳細は、「Threads and Swing」を参照してください。

定義:
インタフェース 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 メソッドは違います。詳細は、「Threads and Swing」を参照してください。

定義:
インタフェース 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 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.