SynthのLookおよびある程度のFeelを、コンポーネント固有のプロパティによりカスタマイズできます。 これらのプロパティにはSynthStyle#getからアクセスします。 これらのプロパティをSynth構成ファイルで指定する方法などについては、Synthのファイル形式を参照してください。
      このファイルは、各値が取るべき予想されるクラス型を指定します。 不正な型を指定した場合の動作は指定されていません。通常はClassCastExceptionがスローされますが、実装に固有なものとなります。 
    
ArrowButtonは、矢印を描画するJButtonの特殊な型です。 通常はArrowButtonは直接作成されず、一部のComponentがArrowButtonを作成して矢印付きのボタンを描画します。 ArrowButtonを使用するコンポーネントはJComboBox、JScrollBar、およびJSplitPane (ディバイダのボタン用)です。 Buttonプロパティに加えてArrowButtonは次のプロパティをサポートしています。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| ArrowButton.size | Integer | 16 | 矢印ボタンの適切なサイズ。 | 
JButtonはTEXT_FOREGROUND ColorTypeを使用してテキストをペイントします。 Buttonプロパティに加えてJButtonは次のプロパティをサポートしています。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| Button.defaultButtonFollowsFocus | Boolean | true | デフォルトのJButtonが、フォーカスを取得しているボタンに変わるかどうか。 | 
JCheckBoxはTEXT_FOREGROUND ColorTypeを使用してテキストをペイントします。 Buttonプロパティに加えてJCheckBoxは次のプロパティをサポートしています。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| CheckBox.icon | Icon | null | チェックを描画するために使用するアイコン。 | 
JComboBoxは、次の子Componentで構成される複合コンポーネントです。
| 名前 | 型 | 説明 | 
|---|---|---|
| ComboBox.arrowButton | SynthArrowButton | ドロップ・ダウン・インジケータを描画します。 | 
| ComboBox.list | JList | 値を描画するために使用するJList。 | 
| ComboBox.listRenderer | Component | JComboBoxのJListに使用されるレンダラ。 | 
| ComboBox.popup | JPopupMenu | JComboBoxのComboBox.listの表示に使用されるJPopupMenu。 | 
| ComboBox.renderer | Component | JComboBoxに使用されるレンダラ。 これは、レンダラがUIResourceである場合のみ設定されます。 | 
| ComboBox.scrollPane | JScrollPane | JListを含むJScrollPane。 | 
| ComboBox.textField | JTextField | エディタ。 | 
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| ComboBox.showPopupOnNavigation | Boolean | false | キーボードを使用してナビゲート中にJPopupMenuを表示するべきかどうか。 | 
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| FileChooser.cancelIcon | Icon | null | ファイル・チューザの取消しボタンに表示するアイコン。 | 
| FileChooser.okIcon | Icon | null | ファイル・チューザのOKボタンに表示するアイコン。 | 
| FileView.directoryIcon | Icon | null | ディレクトリに使用するアイコン。 | 
| FileView.fileIcon | Icon | null | ファイルに使用するアイコン。 | 
| FileView.computerIcon | Icon | null | コンピュータを表すディレクトリに使用するアイコン。 すべてのプラットフォームがこのアイコンを使用するわけではありません。 | 
| FileView.hardDriveIcon | Icon | null | ハード・ドライブのルートを表すために使用するアイコン。 たとえば、Windows上ではCドライブを表示するときに使用されます。 | 
| FileView.floppyDriveIcon | Icon | null | フロッピー・ディスクを表すために使用するアイコン。 | 
| FileChooser.newFolderIcon | Icon | null | 新しいフォルダを作成するボタンが使用するアイコン。 | 
| FileChooser.upFolderIcon | Icon | null | 親フォルダにナビゲートするボタンが使用するアイコン。 | 
| FileChooser.homeFolderIcon | Icon | null | 現在のユーザーのホーム・ディレクトリにナビゲートするボタンが使用するアイコン。 | 
| FileChooser.detailsViewIcon | Icon | null | 詳細ファイル・リスト表示を切り替えるボタンが使用するアイコン。 | 
| FileChooser.listViewIcon | Icon | null | 各ファイルとディレクトリのアイコンと名前のみを表示する通常ファイル・リスト表示を切り替えるボタンが使用するアイコン。 | 
| FileChooser.viewMenuIcon | Icon | null | 表示モードの選択用のポップアップ・メニューを表示するボタンが使用するアイコン。 | 
| プロパティ | 予想される型 | DefaultValue | 説明 | 
|---|---|---|---|
| InternalFrame.icon | Icon | null | 内部フレームのシステム・アイコン を表すために描画されるアイコン。 押すと システム・メニューが表示されます。 | 
JInternalFrameTitlePaneは、フレーム内に存在する制御バーに類似した、内部フレームの最上部に位置する制御バーです。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| InternalFrameTitlePane.maximizeIcon | Icon | null | 内部フレームを最大化する機能を示すために描画されるアイコン。 | 
| InternalFrameTitlePane.minimizeIcon | Icon | null | 内部フレームを以前の状態に復元する機能を示すために描画されるアイコン。 | 
| InternalFrameTitlePane.iconifyIcon | Icon | null | 内部フレームを最小化する機能を示すために描画されるアイコン。 | 
| InternalFrameTitlePane.closeIcon | Icon | null | 内部フレームを閉じる機能を示すために描画されるアイコン。 | 
| InternalFrameTitlePane.titleSpacing | Integer | 2 | タイトル・ペインのボタンとタイトルの間のスペース。 | 
| InternalFrameTitlePane.buttonSpacing | Integer | 2 | タイトル・ペインのボタン間のスペース。 | 
| InternalFrameTitlePane.maxFrameIconSize | Dimension | 16x16 | タイトル・ペインに描画されるフレーム・アイコンの最大サイズ。 アイコンがこのサイズより大きい場合は縮小されます。 | 
| InternalFrameTitlePane.titleAlignment | leading|trailing|center | leading | タイトルの配置方法。 コンポーネント方向が左から右の場合はleadingが左でtrailingが右です。 コンポーネント方向が右から左の場合はleadingが右でtrailingが左です。 | 
JListはレンダラの名前をList.rendererに設定します。 JListは次のプロパティをサポートしています。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| List.rendererUseListColors | Boolean | true | trueの場合、レンダラの状態は更新されず、テキストの色はJListのgetSelectionBackgroundおよびgetSelectionForegroundメソッドから取得されます。 falseの場合、レンダラの状態が更新され、色は代わりにStyleから取得されます。 | 
| List.rendererUseUIBorder | Boolean | true | trueの場合、渡されたボーダーに関係なくレンダラのsetBorderは成功します。それ以外の場合は、レンダラのsetBorderはSynth Borderの場合にのみ成功します。 | 
| List.cellHeight | Integer | -1 | JListのセルの高さ。 -1の場合、 setFixedCellHeightは呼び出されません。 | 
すべてのMenuクラス(JCheckBoxMenuItem、JMenu、JMenuItem、およびJRadioButtonMenuItem)は、同じプロパティ・セットをサポートして同様に動作します。 各コンポーネントは、2つのRegion (コンポーネントに固有のRegionとRegion.MENU_ITEM_ACCELERATOR)で構成されます。 MENU_ITEM_ACCELERATORはアクセラレータのペイントに使用されます。 両方のRegionはTEXT_FOREGROUND ColorTypeを使用してテキストをペイントします。 次のプロパティ・セットがサポートされています。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| prefix.acceleratorDelimiter | String | + | 修飾子の説明とキーの間の文字セパレータ(たとえば、 Ctrl <acceleratorDelimiter> X)。 | 
| prefix.arrowIcon | Icon | null | テキストの右側に描画されるアイコン(またはComponentOrientationが右から左の場合はテキストの左側)。 これは通常、JMenuに対してのみ定義されます。 | 
| prefix.checkIcon | Icon | null | テキストの左側に描画されるアイコン(またはComponentOrientationが右から左の場合はテキストの右側)。 これは通常、JCheckBoxMenuItemおよびJRadioButtonMenuItemに対してのみ定義され、チェック・ボタンまたはラジオ・ボタンを提供します。 | 
| prefix.margin | Insets | 空のInsets (0, 0, 0, 0) | JMenuItemのマージン。 マージンの使用方法の詳細については javax.swing.AbstractButton#setMargin(java.awt.Insets)のjavadocを参照してください。 | 
| prefix.textIconGap | Integer | 4 | アイコンとテキストの間のパディング。 この使用方法の詳細については javax.swing.AbstractButton#setIconTextGap(int)のjavadocを参照してください。 | 
 PrefixはCheckBoxMenuItem、Menu、MenuItem、またはRadioButtonMenuItemのいずれかです。 
JMenuは次のプロパティもサポートしています。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| Menu.delay | Integer | 200 | メニューを表示するまでの遅延を設定します。 | 
| Menu.shortcutKeys | int[] | KeyEvent.ALT_MASK | ショートカット・キーに使用するKeyEvent修飾子の配列。 | 
JOptionPaneは複合コンポーネントであり、多数の子コンポーネントで構成される場合があります。子コンポーネントはOptionPane.button、OptionPane.label、OptionPane.comboBox、OptionPane.scrollPane、OptionPane.list、OptionPane.textField、OptionPane.iconLabelです。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| OptionPane.buttonAreaBorder | Border | null | ボタン領域の周囲のボーダー。 | 
| OptionPane.buttonClickThreshhold | Integer | 0 | 作成されたボタンのsetMultiClickThreshholdに渡されます。 | 
| OptionPane.buttonOrientation | Integer | SwingConstants.CENTER | ボタンのレイアウト方法で、SwingConstants.LEFT、SwingConstants.RIGHT、またはSwingConstants.CENTERのいずれか(右から左のロケールの場合は反転される)。 | 
| OptionPane.buttonPadding | Integer | 6 | ボタン間のスペースの量。 | 
| OptionPane.cancelIcon | Icon | null | 取消しボタンのアイコン。 | 
| OptionPane.errorIcon | Icon | null | ERROR_MESSAGEに使用するアイコン。 | 
| OptionPane.informationIcon | Icon | null | INFORMATION_MESSAGEに使用するアイコン。 | 
| OptionPane.isYesLast | Boolean | false | trueの場合、「はい」ボタンがその他のボタンの前に配置され、それ以外の場合はその他のボタンの後に配置されます。 | 
| OptionPane.questionIcon | Icon | null | エラーQUESTION_MESSAGEに使用するアイコン。 | 
| OptionPane.minimumSize | Dimension | 262x90 | JOptionPaneの最小サイズ。 | 
| OptionPane.noIcon | Icon | null | 「いいえ」ボタンのアイコン。 | 
| OptionPane.okIcon | Icon | null | 「OK」ボタンのアイコン。 | 
| OptionPane.sameSizeButtons | Boolean | true | すべてのボタンを同じサイズにするべきかどうか。 | 
| OptionPane.separatorPadding | Integer | 6 | メッセージ領域とセパレータの間のパディング量。 | 
| OptionPane.yesIcon | Icon | null | 「はい」ボタンのアイコン。 | 
| OptionPane.warningIcon | Icon | null | エラーWARNING_MESSAGEに使用するアイコン | 
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| ProgressBar.repaintInterval | Integer | 50 | 不確定進捗バーを再ペイントする間隔のミリ秒数。 | 
| ProgressBar.cycleTime | Integer | 3000 | 進捗バーが不確定のときに、1フレームあたりのバウンシング ボックスの移動距離を決定するために使用するミリ秒数。 | 
JRadioButtonはTEXT_FOREGROUND ColorTypeを使用してテキストをペイントします。 Buttonプロパティに加えてJRadioButtonは次のプロパティをサポートしています。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| RadioButton.icon | Icon | null | ラジオ・インジケータを描画するために使用するアイコン。 | 
JScrollBarは、次の子Componentで構成される複合コンポーネントです。
| 名前 | 型 | 説明 | 
|---|---|---|
| ScrollBar.button | SynthArrowButton | 増分ボタンと減分ボタンを識別します。 | 
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| ScrollBar.allowsAbsolutePositioning | Boolean | false | trueの場合、トラック内でマウスを中クリックすると、トラックの位置がマウスの位置に設定されます。 | 
| ScrollBar.maximumThumbSize | Dimension | 4096x4096 | サムの最大サイズ。 | 
| ScrollBar.minimumThumbSize | Dimension | ScrollBar.thumbHeightから派生されます | サムの最小サイズ。 これを指定しない場合、サムの最小サイズは、スクロール・バーの反対軸の方向ではScrollBar.thumbHeightにスクロール・バーのイン・セットを加えた値、もう一方の軸の方向では7です。 たとえば、スクロール・バーのInsetsを指定しておらず、スクロール・バーの方向が垂直の場合、最小のサム・サイズの幅はScrollBar.thumbHeightで、高さは7です。 | 
| ScrollBar.squareButtons | Boolean | false | trueの場合、スクロールバー・ボタンの幅と高さは等しくなります。 | 
| ScrollBar.thumbHeight | Integer | 14 | スクロール・バーの方向が水平の場合は適切な高さ、またはスクロール・バーの方向が垂直の場合は適切な幅。 | 
すべてのセパレータ・クラス(JSeparator、JPopupMenu.Separator、およびJToolBar.Separator)は同じプロパティを使用します。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| Separator.thickness | Integer | 2 | 垂直方向に整列したセパレータの場合は適切な幅、または水平方向に整列したセパレータの場合は適切な高さ。 結果として得られる適切なサイズにはInsetsが含まれます。 | 
また、JToolBar.Separatorは次のプロパティもサポートします。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| ToolBar.separatorSize | Dimension | null | この値は javax.swing.JToolBar$Separator#setSeparatorSize(java.awt.Dimension)メソッドに渡されます。 指定しない場合、setSeparatorSizeは呼び出されません。 | 
 
      JScrollPaneは、JViewportの周囲にBorderを設定するメソッドを提供するという点で特殊です(JViewportのsetBorderからはIllegalArgumentExceptionがスローされます)。 これに対応するため、キーScrollPane.viewportBorderInsetsのインセットを使用する特別なボーダーが、JScrollPaneにインストールされています。 SynthPainterのメソッドpaintViewportBorderは、ビュー・ポートのボーダーをペイントするために呼び出されます。 
 
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| ScrollPane.viewportBorderInsets | Insets | null | ビュー・ポートBorderのInsets。 | 
JSplitPaneは1つのディバイダ、およびsetOneTouchExpandable(true)が呼び出された場合には2つのボタンを含む複合コンポーネントです。 この2つのボタンの名前はSplitPaneDivider.leftOneTouchButtonとSplitPaneDivider.rightOneTouchButtonです。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| SplitPane.centerOneTouchButtons | Boolean | true | trueの場合は、ワン・タッチ・ボタンがディバイダの中央に配置されます。 | 
| SplitPane.oneTouchButtonOffset | Integer | 2 | ワン・タッチ・ボタン間の距離。 | 
| SplitPane.oneTouchButtonSize | Integer | 6 | ワンタッチ・ボタンの作成サイズ。 | 
| SplitPane.oneTouchExpandable | Boolean | null | nullでない場合、この値はsetOneTouchExpandableに渡されます。 | 
| SplitPane.size | Integer | 6 | ディバイダのサイズ | 
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| Slider.thumbWidth | Integer | 30 | スライダのサムの幅 | 
| Slider.thumbHeight | Integer | 14 | スライダのサムの高さ | 
| Slider.trackBorder | Integer | 1 | トラックのボーダーの幅 | 
| Slider.paintValue | Boolean | true | スライダの現在の値をペイントするかどうか。 | 
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| TabbedPane.tabRunOverlay | Integer | 0 | 行が複数存在する場合にタブをオーバーラップするピクセルの数。 | 
| TabbedPane.textIconGap | Integer | 0 | タブのアイコンとテキストの間に追加されるパディング。 テキストやアイコンがない場合、この値は使用されません。 | 
| TabbedPane.selectedTabPadInsets | Insets | 空のInsets (0, 0, 0, 0) | 選択したタブに追加される追加イン・セット。 | 
| TabbedPane.selectionFollowsFocus | Boolean | true | trueの場合、ユーザーがマウスでタブをナビゲートすると、タブ・ペインの選択が変わります。 | 
JTableはレンダラの名前をTable.cellRendererに設定します。 JTableは次のプロパティをサポートします。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| Table.gridColor | Color | null | グリッドに使用する色。 nullの場合、スタイルの前景色が使用されます。 | 
| Table.rendererUseTableColors | Boolean | true | trueの場合、レンダラの状態は更新されず、テキストの色はJTableのgetSelectionBackgroundおよびgetSelectionForegroundメソッドから取得されます。 falseの場合、レンダラの状態が更新され、色は代わりにStyleから取得されます。 | 
| Table.rendererUseUIBorder | Boolean | true | trueの場合、渡されたボーダーに関係なくレンダラのsetBorderは成功します。それ以外の場合は、レンダラのsetBorderはSynth Borderの場合にのみ成功します。 | 
| Table.rowHeight | Integer | -1 | -1ではない場合、JTable上でsetRowHeightが呼び出されます。 | 
JTreeはレンダラの名前をTree.rendererに設定し、エディタの名前はTree.cellEditorになります。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| Tree.collapsedIcon | Icon | null | ノードが折りたたまれている場合に使用するアイコン。 | 
| Tree.drawHorizontalLines | Boolean | true | trueの場合、ノードにはノードとその親の先端を接続する水平線が描画されます。 | 
| Tree.drawVerticalLines | Boolean | true | trueの場合、展開されたノードから下方向に垂直線が描画されます。 | 
| Tree.expandedIcon | Icon | null | ノードが展開されている場合に使用するアイコン。 | 
| Tree.leftChildIndent | Integer | 0 | これにTree.rightChildIndentを加えたものが、ノードの親からノードをy軸に沿ってオフセットする合計スペース。 | 
| Tree.rightChildIndent | Integer | 0 | これにTree.leftChildIndentを加えたものが、ノードの親からノードをy軸に沿ってオフセットする合計スペース。 | 
| Tree.rowHeight | Integer | -1 | Treeの行の高さ。 | 
| Tree.scrollsHorizontallyAndVertically | Boolean | false | falseの場合、セルをすべて収めるためにスクロールが生じる必要があるときに垂直軸に沿ってのみスクロールが生じ、trueの場合、スクロールが水平軸と垂直軸に沿って生じることがあります。 | 
| Tree.scrollsOnExpand | Boolean | true | ノードが展開された場合にJTreeがスクロールするべきかどうか。 | 
| Tree.linesStyle | String | ツリー内の線のスタイル。 Synthは実線(空の値)と破線(「dashed」値)をサポートしています。 新しいSynthGraphicsUtilsを作成してツリーにバインドすることにより、新しいスタイルを追加できます。 | 
JToggleButtonはTEXT_FOREGROUND ColorTypeを使用してテキストをペイントします。 Buttonプロパティに加えてJToggleButtonは次のプロパティをサポートしています。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| ToggleButton.icon | Icon | null | ラジオ・インジケータを描画するために使用するアイコン。 | 
各Buttonクラス(JButton、JCheckBox、JRadioButton、JToggleButton、およびSynthArrowButton)は同様のプロパティ・セットをサポートしています。 これらのプロパティは次のとおりです。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| prefix.contentAreaFilled | Integer | true | この使用方法の詳細については javax.swing.AbstractButton#contentAreaFilled(boolean)のjavadocを参照してください。 このプロパティが適切に受け付けられるかどうかはPainterしだいです。 | 
| prefix.iconTextGap | Integer | 指定しない場合、JButton.setIconTextGapは呼び出されません。 | アイコンとテキストの間のパディング。 この使用方法の詳細については javax.swing.AbstractButton#setIconTextGap(int)のjavadocを参照してください。 | 
| prefix.margin | Insets | 空のInsets (0, 0, 0, 0) | JButtonのマージン。 マージンの使用方法の詳細については javax.swing.AbstractButton#setMargin(java.awt.Insets)のjavadocを参照してください。 | 
| prefix.textShiftOffset | Integer | 0 | テキストとアイコンを通常レイアウトされている位置からx軸とy軸に沿って移動する量。 これは、ボタンが押された状態であり、かつ押された状態のアイコンがない場合にのみ使用されます。 | 
 PrefixはButton、CheckBox、RadioButton、またはJToggleButtonのいずれかです。
| プロパティ | 予想される型 | デフォルト値 | 説明 | 
|---|---|---|---|
| prefix.caretForeground | Color | #000000 | キャレットの色。 | 
| prefix.margin | Insets | 空のInsets (0, 0, 0, 0)、 EditorPaneおよびTextPane (3, 3, 3, 3) | テキスト・コンポーネントのマージン。 | 
| prefix.caretBlinkRate | Integer | 500 | キャレットの点滅間隔を定義するミリ秒数。 | 
PrefixはEditorPane、FormattedTextField、PasswordField、TextArea、TextField、またはTextPaneのいずれかです。