|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
参照先:
説明
インタフェースの概要 | |
---|---|
SynthConstants | Synth が使用する定数です。 |
クラスの概要 | |
---|---|
ColorType | スタイルから取得できる型保証された色の列挙です。 |
Region | Swing コンポーネントの個別の描画領域です。 |
SynthContext | Region に関するコンテキスト依存の情報を含む不変の一時オブジェクトです。 |
SynthGraphicsUtils | 単純な図形の呼び出しのためのラッパーです。 |
SynthLookAndFeel | SynthLookAndFeel は、カスタマイズされた Look & Feel を作成するための基礎となるクラスです。 |
SynthPainter | SynthPainter は、JComponent の一部分をペイントするときに使用します。 |
SynthStyle | SynthStyle は、スタイルプロパティーのセットです。 |
SynthStyleFactory | SynthStyle を取得するために使用するファクトリです。 |
Synth は、すべてのペイントが委譲されるスキン設定可能な Look & Feel です。Synth にはデフォルトの外観はありません。Synth を使用するためには、ファイルを指定するか、SynthStyleFactory
を提供する必要があります。どちらの構成オプションを使用する場合も、次に説明する合成アーキテクチャーの知識と Swing のアーキテクチャーの知識が必要です。
特に指定されていないかぎり、 Synth パッケージに定義されたメソッドに対して null は有効な値ではないため、null が渡されると、NullPointerException
がスローされます。
Synth のそれぞれの ComponentUI
実装では、それ自体を Region
ごとに 1 つの SynthStyle
と関連付けます。 ほとんどのコンポーネントは Region
を 1 つしか持っていないため、SynthStyle
も 1 つだけとなります。SynthStyle
は、スタイルに関連したプロパティー (フォント、色などの Component
のプロパティー) にアクセスするために使用されます。また、Component
のバックグラウンド、ボーダー、フォーカスなどの部分をペイントするために SynthPainter
を取得する際にも使用されます。ComponentUI
は、SynthStyle
を SynthStyleFactory
から取得します。SynthStyleFactory
は、SynthLookAndFeel.setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory)
を介して直接提供することも、SynthLookAndFeel.load(java.io.InputStream, java.lang.Class>)
を介して間接的に提供することもできます。次の例では、SynthLookAndFeel.load()
メソッドを使用して SynthLookAndFeel
を構成し、それを現在の Look & Feel として設定しています。
SynthLookAndFeel laf = new SynthLookAndFeel(); laf.load(MyClass.class.getResourceAsStream("laf.xml"), MyClass.class); UIManager.setLookAndFeel(laf);
多くの JComponent
は小さく分割され、Region
内の型保証された列挙によって識別されます。たとえば、JTabbedPane
は、JTabbedPane
用の Region
(Region.TABBED_PANE
)、コンテンツ領域 (Region.TABBED_PANE_CONTENT
)、タブの背後にある領域 (Region.TABBED_PANE_TAB_AREA
)、およびタブ (Region.TABBED_PANE_TAB
) から構成されます。各 JComponent
の各 Region
には SynthStyle
が 1 つずつあります。これにより、各 JComponent
の各領域の個々の部分をカスタマイズできます。
多くの Synth メソッドは SynthContext
を取ります。これは、現在の Component
に関する情報を提供するために使用され、現在の Region
に関連付けられた SynthStyle
、Component
の状態を表すビットマスク (有効な状態については、SynthConstants
を参照)、ペイントされる Component
の部分を識別する Region
などが含まれています。
JTextComponent
以外によるテキストのレンダリングはすべて、SynthGraphicsUtils
に委譲されます。 これは、SynthStyle
メソッド SynthStyle.getGraphicsUtils(javax.swing.plaf.synth.SynthContext)
を使って取得されます。テキストレンダリングをカスタマイズする場合は、独自の SynthGraphicsUtils
を指定します。
Synth は、ツリーのセル用の領域
この例では、選択されているときは白地に赤、選択されていないときは赤地に白の色の組み合わせを指定しています。バックグラウンドを表示するには、ラベルを透明にする必要があります。このためには、次の XML (抜粋) を使用します。
JList と JTable のレンダリングで使用する色は、リスト領域とテーブル領域を使って指定します。次の XML (抜粋) は、選択されているときは白地に赤、選択されていないときは赤地に白の色を指定する方法を示しています。
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。Region.TREE_CELL
を提供します。レンダリングの色を指定するには、TREE_CELL
領域にスタイルを提供します。次に、この例を示します。
<style id="treeCellStyle">
<opaque value="TRUE"/>
<state>
<color value="WHITE" type="TEXT_FOREGROUND"/>
<color value="RED" type="TEXT_BACKGROUND"/>
</state>
<state value="SELECTED">
<color value="RED" type="TEXT_FOREGROUND"/>
<color value="WHITE" type="BACKGROUND"/>
</state>
</style>
<bind style="treeCellStyle" type="region" key="TreeCell"/>
<style id="labelStyle">
<opaque value="FALSE"/>
</style>
<bind style="labelStyle" type="region" key="Label"/>
JList と JTable
<style id="style">
<opaque value="TRUE"/>
<state>
<color value="WHITE" type="TEXT_FOREGROUND"/>
<color value="RED" type="TEXT_BACKGROUND"/>
<color value="RED" type="BACKGROUND"/>
</state>
<state value="SELECTED">
<color value="RED" type="TEXT_FOREGROUND"/>
<color value="WHITE" type="TEXT_BACKGROUND"/>
</state>
</style>
<bind style="style" type="region" key="Table"/>
<bind style="style" type="region" key="List"/>
概要
パッケージ
クラス
使用
階層ツリー
非推奨 API
索引
ヘルプ
JavaTM Platform
Standard Ed. 6
前のパッケージ
次のパッケージ
フレームあり
フレームなし
バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。