コンポーネント固有のプロパティ

SynthのLookおよびある程度のFeelを、コンポーネント固有のプロパティによりカスタマイズできます。これらのプロパティにはSynthStyle#getからアクセスします。これらのプロパティをSynth構成ファイルで指定する方法などについては、Synthのファイル形式を参照してください。

このファイルは、各値が取るべき予想されるクラス型を指定します。不正な型を指定した場合の動作は指定されていません。通常はClassCastExceptionがスローされますが、実装に固有なものとなります。

ArrowButton

ArrowButtonは、矢印を描画するJButtonの特殊な型です。通常はArrowButtonは直接作成されず、一部のComponentがArrowButtonを作成して矢印付きのボタンを描画します。ArrowButtonを使用するコンポーネントはJComboBox、JScrollBar、およびJSplitPane (ディバイダのボタン用)です。Buttonプロパティに加えてArrowButtonは次のプロパティをサポートしています。

ArrowButton固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
ArrowButton.size Integer 16 矢印ボタンの適切なサイズ。

JButton

JButtonはTEXT_FOREGROUND ColorTypeを使用してテキストをペイントします。Buttonプロパティに加えてJButtonは次のプロパティをサポートしています。

JButton固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
Button.defaultButtonFollowsFocus Boolean true デフォルトのJButtonが、フォーカスを取得しているボタンに変わるかどうか。

JCheckBox

JCheckBoxはTEXT_FOREGROUND ColorTypeを使用してテキストをペイントします。Buttonプロパティに加えてJCheckBoxは次のプロパティをサポートしています。

JCheckBox固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
CheckBox.icon Icon null チェックを描画するために使用するアイコン。

JComboBox

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 エディタ。

JComboBox固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
ComboBox.showPopupOnNavigation Boolean false キーボードを使用してナビゲート中にJPopupMenuを表示するべきかどうか。

JFileChooser

JFileChooser固有のプロパティ
プロパティ 予想される型
デフォルト値
説明
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
表示モードの選択用のポップアップ・メニューを表示するボタンが使用するアイコン。

JInternalFrame

JInternalFrame固有のプロパティ
プロパティ
予想される型
デフォルト値
説明
InternalFrame.icon
Icon null
内部フレームのシステム・アイコン
を表すために描画されるアイコン。 押すと
システム・メニューが表示されます。

JInternalFrameTitlePane

JInternalFrameTitlePaneは、フレーム内に存在する制御バーに類似した、内部フレームの最上部に位置する制御バーです。

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

JListはレンダラの名前をList.rendererに設定します。JListは次のプロパティをサポートしています。

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プロパティ

すべての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

JOptionPaneは複合コンポーネントであり、多数の子コンポーネントで構成される場合があります。子コンポーネントはOptionPane.button、OptionPane.label、OptionPane.comboBox、OptionPane.scrollPane、OptionPane.list、OptionPane.textField、OptionPane.iconLabelです。

JOptionPane固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
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に使用するアイコン

JProgressBar

JProgressBar固有のプロパティ
プロパティ 予想される型
デフォルト値
説明
ProgressBar.repaintInterval
Integer
50
不確定進捗バーを再ペイントする間隔のミリ秒数。
ProgressBar.cycleTime
Integer
3000
進捗バーが不確定のときに、1フレームあたりのバウンシング
ボックスの移動距離を決定するために使用するミリ秒数。

JRadioButton

JRadioButtonはTEXT_FOREGROUND ColorTypeを使用してテキストをペイントします。Buttonプロパティに加えてJRadioButtonは次のプロパティをサポートしています。

JRadioButton固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
RadioButton.icon Icon null ラジオ・インジケータを描画するために使用するアイコン。

JScrollBar

JScrollBarは、次の子Componentで構成される複合コンポーネントです。

名前 説明
ScrollBar.button SynthArrowButton 増分ボタンと減分ボタンを識別します。

JScrollBar固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
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

JScrollPaneは、JViewportの周囲にBorderを設定するメソッドを提供するという点で特殊です(JViewportのsetBorderからはIllegalArgumentExceptionがスローされます)。これに対応するため、キーScrollPane.viewportBorderInsetsのインセットを使用する特別なボーダーが、JScrollPaneにインストールされています。SynthPainterのメソッドpaintViewportBorderは、ビュー・ポートのボーダーをペイントするために呼び出されます。

JScrollPane固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
ScrollPane.viewportBorderInsets Insets null ビュー・ポートBorderのInsets。

JSplitPane

JSplitPaneは1つのディバイダ、およびsetOneTouchExpandable(true)が呼び出された場合には2つのボタンを含む複合コンポーネントです。この2つのボタンの名前はSplitPaneDivider.leftOneTouchButtonとSplitPaneDivider.rightOneTouchButtonです。

JSplitPane固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
SplitPane.centerOneTouchButtons Boolean true trueの場合は、ワン・タッチ・ボタンがディバイダの中央に配置されます。
SplitPane.oneTouchButtonOffset Integer 2 ワン・タッチ・ボタン間の距離。
SplitPane.oneTouchButtonSize Integer 6 ワンタッチ・ボタンの作成サイズ。
SplitPane.oneTouchExpandable Boolean null nullでない場合、この値はsetOneTouchExpandableに渡されます。
SplitPane.size Integer 6 ディバイダのサイズ

JSlider

JSlider固有のプロパティ
プロパティ
予想される型
デフォルト値
説明
Slider.thumbWidth
Integer
30
スライダのサムの幅
Slider.thumbHeight
Integer
14
スライダのサムの高さ
Slider.trackBorder
Integer
1
トラックのボーダーの幅
Slider.paintValue
Boolean
true
スライダの現在の値をペイントするかどうか。


JTabbedPane

JTabbedPane固有のプロパティ
プロパティ 予想される型
デフォルト値
説明
TabbedPane.tabRunOverlay
Integer
0
行が複数存在する場合にタブをオーバーラップするピクセルの数。
TabbedPane.textIconGap
Integer
0
タブのアイコンとテキストの間に追加されるパディング。テキストやアイコンがない場合、この値は使用されません。
TabbedPane.selectedTabPadInsets
Insets
空のInsets (0, 0, 0, 0)
選択したタブに追加される追加イン・セット。
TabbedPane.selectionFollowsFocus
Boolean
true
trueの場合、ユーザーがマウスでタブをナビゲートすると、タブ・ペインの選択が変わります。

JTable

JTableはレンダラの名前をTable.cellRendererに設定します。JTableは次のプロパティをサポートします。

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

JTreeはレンダラの名前をTree.rendererに設定し、エディタの名前はTree.cellEditorになります。

JTree固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
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

JToggleButtonはTEXT_FOREGROUND ColorTypeを使用してテキストをペイントします。Buttonプロパティに加えてJToggleButtonは次のプロパティをサポートしています。

JToggleButton固有のプロパティ
プロパティ 予想される型 デフォルト値 説明
ToggleButton.icon Icon null ラジオ・インジケータを描画するために使用するアイコン。

Buttonプロパティ

各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のいずれかです。