インタフェース | 説明 |
---|---|
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.