| インタフェース | 説明 |
|---|---|
| SynthConstants |
Synth が使用する定数です。
|
| SynthUI |
SynthUI は、特定のコンポーネントの SynthContext を取得するために使用します。
|
| クラス | 説明 |
|---|---|
| ColorType |
スタイルから取得できる型保証された色の列挙です。
|
| Region |
Swing コンポーネントの個別の描画領域です。
|
| SynthButtonUI |
JButton の Synth L&F UI の委譲を提供します。 |
| SynthCheckBoxMenuItemUI |
JCheckBoxMenuItem の Synth L&F UI の委譲を提供します。 |
| SynthCheckBoxUI |
JCheckBox の Synth L&F UI の委譲を提供します。 |
| SynthColorChooserUI |
JColorChooser の Synth L&F UI の委譲を提供します。 |
| SynthComboBoxUI |
JComboBox の Synth L&F UI の委譲を提供します。 |
| SynthContext |
Region に関するコンテキスト依存の情報を含む不変の一時オブジェクトです。 |
| SynthDesktopIconUI |
デスクトップ上の最小化された内部フレームの Synth L&F UI の委譲を提供します。
|
| SynthDesktopPaneUI |
JDesktopPane の Synth L&F UI の委譲を提供します。 |
| SynthEditorPaneUI |
JEditorPane の Synth L&F UI の委譲を提供します。 |
| SynthFormattedTextFieldUI |
JFormattedTextField の Synth L&F UI の委譲を提供します。 |
| SynthGraphicsUtils |
単純な図形の呼び出しのためのラッパーです。
|
| SynthInternalFrameUI |
JInternalFrame の Synth L&F UI の委譲を提供します。 |
| SynthLabelUI |
JLabel の Synth L&F UI の委譲を提供します。 |
| SynthListUI |
JList の Synth L&F UI の委譲を提供します。 |
| SynthLookAndFeel |
SynthLookAndFeel は、カスタマイズされた Look & Feel を作成するための基礎を提供します。
|
| SynthMenuBarUI |
JMenuBar の Synth L&F UI の委譲を提供します。 |
| SynthMenuItemUI |
JMenuItem の Synth L&F UI の委譲を提供します。 |
| SynthMenuUI |
JMenu の Synth L&F UI の委譲を提供します。 |
| SynthOptionPaneUI |
JOptionPane の Synth L&F UI の委譲を提供します。 |
| SynthPainter |
SynthPainter は、JComponent の一部分をペイントするときに使用します。 |
| SynthPanelUI |
JPanel の Synth L&F UI の委譲を提供します。 |
| SynthPasswordFieldUI |
JPasswordField の Synth L&F UI の委譲を提供します。 |
| SynthPopupMenuUI |
JPopupMenu の Synth L&F UI の委譲を提供します。 |
| SynthProgressBarUI |
JProgressBar の Synth L&F UI の委譲を提供します。 |
| SynthRadioButtonMenuItemUI |
JRadioButtonMenuItem の Synth L&F UI の委譲を提供します。 |
| SynthRadioButtonUI |
JRadioButton の Synth L&F UI の委譲を提供します。 |
| SynthRootPaneUI |
JRootPane の Synth L&F UI の委譲を提供します。 |
| SynthScrollBarUI |
JScrollBar の Synth L&F UI の委譲を提供します。 |
| SynthScrollPaneUI |
JScrollPane の Synth L&F UI の委譲を提供します。 |
| SynthSeparatorUI |
JSeparator の Synth L&F UI の委譲を提供します。 |
| SynthSliderUI |
JSlider の Synth L&F UI の委譲を提供します。 |
| SynthSpinnerUI |
JSpinner の Synth L&F UI の委譲を提供します。 |
| SynthSplitPaneUI |
JSplitPane の Synth L&F UI の委譲を提供します。 |
| SynthStyle |
SynthStyle は、スタイルプロパティーのセットです。 |
| SynthStyleFactory |
SynthStyle を取得するために使用するファクトリです。 |
| SynthTabbedPaneUI |
JTabbedPane の Synth L&F UI の委譲を提供します。 |
| SynthTableHeaderUI |
JTableHeader の Synth L&F UI の委譲を提供します。 |
| SynthTableUI |
JTable の Synth L&F UI の委譲を提供します。 |
| SynthTextAreaUI |
Synth Look & Feel のプレーンテキストエディタの Look & Feel を提供します。
|
| SynthTextFieldUI |
JTextField の Synth L&F UI の委譲を提供します。 |
| SynthTextPaneUI |
Synth Look & Feel の書式付きテキストエディタの Look & Feel を提供します。
|
| SynthToggleButtonUI |
JToggleButton の Synth L&F UI の委譲を提供します。 |
| SynthToolBarUI |
JToolBar の Synth L&F UI の委譲を提供します。 |
| SynthToolTipUI |
JToolTip の Synth L&F UI の委譲を提供します。 |
| SynthTreeUI |
JTree の Synth L&F UI の委譲を提供します。 |
| SynthViewportUI |
JViewport の Synth L&F UI の委譲を提供します。 |
Synth は、すべてのペイントが委譲されるスキン設定可能な Look & Feel です。Synth にはデフォルトの外観はありません。Synth を使用するためには、ファイルを指定するか、SynthStyleFactory を提供する必要があります。どちらの構成オプションを使用する場合も、次に説明する合成アーキテクチャーの知識と Swing のアーキテクチャーの知識が必要です。
特に指定されていないかぎり、Synth パッケージに定義されたメソッドに対して null は有効な値ではないため、null が渡されると、NullPointerException がスローされます。
Synth のそれぞれの ComponentUI 実装では、それ自体を Region ごとに 1 つの SynthStyle と関連付けますが、ほとんどの Component が Region を 1 つしか持っていないため、SynthStyle も 1 つだけとなります。SynthStyle は、スタイルに関連したすべてのプロパティー (フォント、色などの Component のプロパティー) にアクセスするために使用されます。また、SynthStyle は、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 は、ツリーのセル用の領域 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"/>
この例では、選択されているときは白地に赤、選択されていないときは赤地に白の色の組み合わせを指定しています。バックグラウンドを表示するには、ラベルを透明にする必要があります。このためには、次の XML (抜粋) を使用します。
<style id="labelStyle">
<opaque value="FALSE"/>
</style>
<bind style="labelStyle" type="region" key="Label"/>
JList と JTable のレンダラで使用する色は、リスト領域とテーブル領域を使って指定します。次の XML (抜粋) は、選択されているときは白地に赤、選択されていないときは赤地に白の色を指定する方法を示しています。
<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 リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.