### Client Properties

The Quaqua Look and Feel supports the client properties listed below. You may notice, that the list also contains some properties defined in Apple's Release Notes for their Java Virtual Machines and in Sun's Java Look and Feel Design Guidelines. These properties are listed here, because they directly or indirectly affect the appearance and behaviour of components using the Quaqua Look and Feel.

##### Common Properties

Property | Notes
--- | ---
`JComponent``.sizeVariant` | Changes the size variant of a component, if set to `regular`, `small` or `mini`. The default value is `regular`. Note: Setting this property causes the UI delegate, to set an appropriate font on the component.
`Quaqua.Component .cellRendererFor` | If a component is used as a cell renderer, this property can be used to specify the `JComponent` which contains the cels. For example, set this to a JTable, a JTree or a JList object. This has the following effect: The cell renderer can draw itself differently, so that it fits visually into a cell of the specified JComponent. The cell renderer can determine its selection color depending on the focus state of the specified JComponent rather than on its own focus state.
`Quaqua.Component .visualMargin` | If set to a `java.awt.Insets` value, specifies the margin around the visually perceived borders of a component and its clip bounds. If no value is specified, then the UIManager property `Component.visualMargin` is used. This property is honoured only by ComponentUI's that have been implemented in Quaqua. Thus the following components ignore currently the visual margin: JSlider JSpinner JTabbedPane with Panther design

##### JCheckBox

Property | Notes
--- | ---
`Quaqua.Label .style` | Changes the style of the label portion of the JCheckBox if set to: `"plain"`, `"shadow"` or `"emboss"`. If no value is specified, the `plain` style is used.

#####

##### JComboBox

Property | Notes
--- | ---
`JComboBox .isTableCellEditor` | If set to `Boolean.TRUE` causes the JComboBox to render without a border, so that it fits visually into a JTable cell. Alternatively to this, `Quaqua.Component.isCellRendererFor` can be used.

#####

##### JFileChooser

Property | Notes
--- | ---
`Quaqua.FileChooser .preview` | If set to a `java.awt.Component`, specifies the component used for rendering the file preview in the last column of the column view in the file browser. If this property is not set, or if its value is null, the file chooser renders the preview using its own renderer.

##### JButton

Property | Notes
--- | ---
`Quaqua.Button .style` | Changes the style of a button, if set to one of the following String values: `bevel`, `square`, `push`, `colorWell`, `toggle`, `toggleWest`, `toggleCenter`, `toggleEast, toolBar, toolBarRollover, toolBarTab, help`. If no value is specified, the `push` style is used. This property overrides the `JButton.buttonType` property.
`JButton .buttonType` | Changes the style of a button, if set to one of the following String values: `icon, toolbar, text`. If no value is specified, the `text` style is used. This property is here for backwards compatibility with Apple's Aqua Look and Feel only. It is overriden, if the `Quaqua.Button.style` property is set.

#####

##### JOptionPane

Property | Notes
--- | ---
`Quaqua.OptionPane .destructiveOption` | Specifies the index of the destructive option on the JOptionPane. If no value is specified, all option buttons are aligned to the lower right corner of the option pane. If an `Integer` value is specified, all option buttons with a lower index than the Integer value are aligned to the lower right corner, the other option buttons are left aligned with the message text.

#####

##### JLabel

Property | Notes
--- | ---
`Quaqua.Label .style` | Changes the style of a label if set to: `"plain"`, `"shadow"` or `"emboss"`. If no value is specified, the `plain` style is used.

#####

##### JList

Property | Notes
--- | ---
`Quaqua.List .style` | Changes the style of a list, if set to: `"striped"` or to `"plain"`. If no value is specified, the `plain` style is used.

##### JPopupMenu

Property | Notes
--- | ---
`Quaqua.PopupMenu .windowAlpha` | A float value which specifies the alpha transparency of the popup window. If no value or null is specified, a system dependent transparency value is chosen.

#####

##### JRootPane

Property | Notes
--- | ---
`Quaqua.RootPane .isPalette` | If set to `Boolean.TRUE`, turns a JDialog or a JFrame into a palette window. The title bar of a palette window will always render in activated state. It is your responsibility to hide the palette window, when none of your application has focus. This property will only take into effect, when the JRootPane decorates the window.
`Quaqua.RootPane .isVertical` | If set to `Boolean.TRUE`, renders the title bar of a JDialog or a JFrame on the left instead of on the top. This property will only take into effect, when the JRootPane decorates the window.
`apple.awt.brushMetalLook` | If set to `Boolean.TRUE`, fuses the title bar of the JFrame with the JToolBar at the top of the window, and fuses the border with the JToolBar at the bottom of the window, if the appropriate style of the JToolBar is set. See JToolBar
`windowModified` | See JInternalFrame

#####

##### JScrollBar

Property | Notes
--- | ---
`Quaqua.ScrollBar .placeButtonsTogether` | Places the buttons of the scroll bar together or appart. Supported values are Boolean.TRUE and Boolean.FALSE. If no value is specified, the UIManager property `ScrollBar.placeButtonsTogether` is used.

##### JScrollPane

Property | Notes
--- | ---
`Quaqua.ScrollPane .style` | Changes the style of a list, if set to: `"plain"` or to `"bar"`. If no value is specified, the `plain` style is used.

#####

##### JTable

Property | Notes
--- | ---
`Quaqua.Table .style` | Changes the style of a table, if set to: `striped` or to `plain`. If no value is specified, the `plain` style is used.

##### JTabbedPane

Property | Notes
--- | ---
`Quaqua.TabbedPane .contentBorderPainted` | Switches rendering of the content border on and off. Set this to `Boolean.FALSE` to not draw the content border of the tabbed pane.
`Quaqua.TabbedPane .shortenTabs` | For use with tabbed panes with scroll layout policy. Set this to `Boolean.FALSE` to prevent tabs from being shortened.
`Quaqua.TabbedPaneChild .contentBackground` | Specifies the background color of the content area. This property needs to be set on a child of a JTabbedPane. This allows to have individual background colors for each child of the tabbed pane.
`Quaqua.TabbedPaneChild .contentInsets` | Specifies the insets of the content area. This property needs to be set on a child of a JTabbedPane. This allows to have individual insets for each child of the tabbed pane.

#####

##### JTextComponent (JTextField, JTextArea, JTextPane, JEditorPane, JPasswordField)

Property | Notes
--- | ---
`Quaqua.TextComponent .autoSelect` | Set this to `Boolean.FALSE` to prevent that all text is selected, when the user tabs into the field. This property does not affect JTextPane and JTextArea. Note: You can set the UIManager property `TextComponent.autoSelect` to false, to turn this off globally.
`Quaqua.TextComponent .showPopup` | Set this to `Boolean.FALSE` to disable the text component popup menu.

#####

##### JTextField

Property | Notes
--- | ---
`Quaqua.TextField .style` | If set to `"search"`, renders a rounded border like the border of Mac OS X SpotLight search fields. If set to `"plain"`, renders a rectangular border like for regular text fields. The default value is `"plain"`.

##### JToolBar

Property | Notes
--- | ---
`Quaqua.ToolBar .style` | Changes the style of a tool bar, if set to: `plain, title, bottom` or `gradient`. If no value is specified, the `plain` style is used. The `"title"` style requires that the client property `apple.awt.brushMetalLook` is set on the JRootPane.
`Quaqua.ToolBar .isDividerDrawn` | If set to `Boolean.FALSE`, turns the divider line between the toolbar and the center area of its panel off.
`JToolBar .isRollover` | If set to `Boolean.TRUE`, turns a roll over effect for the buttons on the toolbar on. This requires Java 1.4 to work.

#####

##### JTree

Property | Notes
--- | ---
`Quaqua.Tree .style` | Changes the style of a tree, if set to: `plain, striped` or `sourceList`. If no value is specified, the `plain` style is used.

#####

##### JInternalFrame

Property | Notes
--- | ---
`JInternalFrame .isPalette` | If set to `Boolean.TRUE`, turns a JInternalFrame into a palette window. See Sun's Java Look And Feel Design Guidelines for Palettes.
`windowModified` | If set to `Boolean.TRUE`, the red close button in the title bar visually indicates that the document contained in the window has changed. See Apple's Technical Q&A QA1146.

#####

##### JToggleButton

Property | Notes
--- | ---
`Quaqua.Button .style` | See JButton. If no value is specified, the `toggle` style is used.

#####