Quaqua Look and Feel
Changes
Version 5.4.1
2009-07-14
Fixes
- JComboBox: Popup menu did not have the correct selection color background. The popup menu did only work with the Leopard design.
Version 5.4
2009-07-07
Enhancements
- JPopupMenu, JComboBox, JOptionPane, JSheet: The Command-Period key can now be used to cancel popup menus and dialogs.
Fixes
- JFileChooser: Fixed a null pointer exception in the sidebar of the file chooser for Mac OS X 10.5 Leopard.
- JComboBox: Fixed keyboard support for the drop down menu.
- JTree: The root handles are now always visible, so that these nodes can be opened.
Version 5.3
2009-06-21
Enhancements
- JPopupMenu: Added support for client property Quaqua.PopupMenu.alpha
- JFileChooser: Leopard file chooser shows now the proper icons in the sidebar for the following well known folders: Applications, Desktop, Documents, Downloads, Library, Movies, Music, Picutres, Public, and Sites.
- Classes which provide access to usefull Mac OS X native API functions are now in a package named ch.randelshofer.quaqua.osx.
Fixes
- JFileChooser: The approve button was not made the default button when the file chooser was added to a root pane ancestor. The selected file was not always visible the first time the file chooser was opened.
- JSheet: Transparency works now for J2SE 5 and 6 on Leopard.
Version 5.2.2
2009-04-13
Fixes
- JTree: Don't render icons in first row of a sideBar-tree or sourceList-tree if tree is disabled.
- JList, issue #65: Selection of disabled JList must not be changeable by the user.
Version 5.2.1
2009-04-03
Fixes
- JTextField, JPasswordField, JFormattedTextField: Background color was never painted, if the field had no border.
Version 5.2
2009-04-01
Enhancements
- JBrowser: Double clicking the resize icon sets the column to its preferred width. Revalidate is now called, after a column has been resized to avoid problems with the parent JScrollPane.
- Quaqua-FileChooserOnly-L&F: On Mac OS X 10.5, the Leopard File Chooser is now used.
Fixes
- JBrowser: Horizontal scrollable block increment to the right moves the the view to the left by one column. In prior versions, the view was moved by multiple columns to the left, and sometimes it was not moved at all.
Version 5.1.1
2009-03-13
Enhancements
- JTree: Use Quaqua's own handler for mouse events, even when running with J2SE6.
Version 5.1
2009-03-13
Enhancements
- JTree: Can be set to a Sourcelist-style using the client property "sourceList".
- Added support for Apple's J2SE6 virtual machine.
- JFileChooser: Always resolve aliases. (Prior versions only resolved aliases when used as an "Open" file dialog.
Fixes
- JTable: Select all had to be performed by pressing Ctrl+A instead of by Meta+A.
- Native libraries. Fallback to non-native code, if native functions can be loaded
but not used for unknown reasons.
- OSXLeopardFileSystemView. Added $RECYCLE.BIN to list of hidden files.
Version 5.0.1
2008-11-16
Fixes
- JEditorPane - issue #70: Up and down arrow keys didn't work.
- JTable - issue #72: Rendering of huge tables was slow, when the table used the "striped" style.
Version 5.0
2008-07-22
Enhancements
- General: Quaqua can be selectively applied to Apple's Aqua Look and Feel.
- JBrowser: Added support for resizable columns contributed by 'fedr'.
- ComboBoxUI: Implemented Leopard-design gradient for selection background color.
- FileChooserUI does now fall back to javax.swing.FileSystemView rather than falling back to package private FileView objects of Apple's Aqua L&F. Added missing translations for 'devices' and 'places' in sidebar. Fixed issue #48 (race condition in the file chooser tree model).
- Files: Added more native methods to Files class.
- MenuUI: Draw menu selection with blue gradient for Leopard design.
- ToolBarUI: Paint toolbar on drag window.
- TreeUI: Selection border did not honor insets of the JTree.
- Added libquaqua64.jnilib for use with 64-bit J2SE6 on Mac OS X 10.5.
Fixes
- TableUI: Set selection foreground color to inactive (=black) when the current cell is not selected to avoid white text on white background. Fixed row and column selection using Meta-key for Java 1.4.
- LeopardCrossPlattformLookAndFeel: Fixed list selection colors (they are now dark blue instead of bright blue).
Version 4.4.7
2008-07-16
Fixes
- TableUI: Fixed row and column selection using Meta-Key in Java 1.4 and J2SE5. Not fixed for J2SE6! For J2SE6 a system property "Quaqua.Table.useJ2SE5MouseHandler" can be set to "true", to use the fix for J2SE5 on J2SE6. This breaks drag and drop functionality and sorting functionality on J2SE6 though.
- LeopardFileChooserUI - Issue #48: Fixed a race condition in AliasFileSystemTreeModel, and fixed a problem in SidebarTreeModel which caused the sidebar to fail, when the /Volumes folder contained items which weren't directories.
Version 4.4.6
2008-06-22
Fixes
- LeopardFileChooserUI - Issue #47: AliasFileSystemTreeModel fired events for nodes which were not in the tree anymore.
Version 4.4.5
2008-05-10
Fixes
- TableUI: Draw focused selection color, if table is editing a cell.
Version 4.4.4
2008-05-04
Enhancements
- Added build target for 64 bit version of Quaqua native library: libquaqua64.jnilib. - This file is not part of the distribution yet, because it needs to be built with a 64-bit Intel Mac.
- Quaqua loads libquaqua64.jnilib when running on 64 bit VM.
Fixes
- FileChooserUI: Squashed NullPointerExceptions which occured when closing the file chooser, when approving the file chooser, and when changing the directory.
- TigerCrossPlatformUI: Use system colors for table, list and tree selection colors when running on SoyLatte. Draw Menu background with pin stripes.
- LeopardCrossPlatformUI: Use system colors for table, list and tree selection colors when running on SoyLatte. Draw menu background with white color. Draw Menu selection background with a blue gradient.
- TableUI: Issue #39 Multiple table cell selection did not work.
Version 4.4.3
2008-04-24
Fixes:
- ColorChooserUI: Uses now the generic ICC profile for CMYK color sliders instead of a linear profile.
- FileChooserUI: NullPointerException occured when the sidebar contained an unresolvable alias. Removed debugging output from QuaquaPantherFileChooserUI and QuaquaLeopardFileChooserUI.
Version 4.4.2
2008-04-22
Fixes:
- CachedPainter14 does not cache large areas anymore.
- FileChooserUI: SidebarTreeModel fired wrong event to TreeListener. SidebarTreeModel and SidebarTableModel invoked too many workers for reading file icons. The approve button was not always enabled, when the JFileChooser was in directory selection mode. LeopardFileChooserUI.SidebarListCellRenderer.getPreferredSize threw a NullPointerException, when the font of the list cell renderer was null.
- GroupBox does not use cached painting for its border anymore.
- JBrowser: Fixed a NullPointerException in method getSelectionPath. BrowserCellRendererWrapper now forwards setFont calls to wrapped cell renderer.
- ListUI: Calls requestFocusInWindow on mouse pressed.
- RootPaneUI: Fixed memory leak, causing root panes never to be reclaimed.
- ScrollBarUI: Fixed NullPointerException in method getTrackAndButtonBorders.
- TabbedPaneUI: Fixed NullPointerException in method getInsets.
- TableUI: It was not possible to edit cells consecutively without explicitly setting focus on another component. Calls requestFocusInWindow on mouse pressed.
- TreeUI: Calls requestFocusInWindow on mouse pressed.
Version 4.4.1
2008-03-26
Fixes:
- PantherFileChooserUI: Ignore clicks in the sidebar on files which are not traversable.
- LeopardFileChooserUI: Ignore clicks in the sidebar on files which are not traversable. Rewrote sidebar view updates from the AliasFileSystemTreeModel.
- TreeUI: Fixed repaint on selection changes. Fixed an updating issue with the leadSelectionPath property in JTree.
- JNI native library: The library is now versioned, so that version mismatches between Quaqua.jar and the library can be detected. The library is now loaded lazily.
Version 4.4
2008-03-22
Enhancements:
- JBrowser: Added support for default TransferHandler. Added BrowserCellRenderer interface. Renamed the existing cell renderer classes and methods.
Fixes
- ButtonUI: Reduced margins of rounded push buttons by 2 pixels on each side.
- FileChooserUI: Increased vertical spacing between files in Filechooser-only-L&F.
- JBrowser: Fixed anArrayIndexOutOfBoundsException.
- ListUI: Reimplemented selection behavior to make it more consistent with native behavior.
- TableUI: Reimplemented selection behavior to make it more consistent with native behavior.Pressing the Meta-Key does not start editing a cell anymore.
- TreeUI: Reimplemented selection behavior to make it more consistent with native behavior.
Version 4.3.1
2008-03-17
Fixes
- FileChooserUI: Fixed issue #21: BitSet IndexOutOfBoundsException.
- TabbedPaneUI, SliderUI: Fixed issue #33: Incomplete support for graphite appearance.
- OptionPaneUI: Improved scaling quality of application icon under Java 1.5.
Version 4.3
2008-03-16
Fixes
- JSheet: When running on Java 1.5 or older, explicitly blocks input on owner window using a glass pane. The focus is now set on the first component on the JSheet, to better support keyboard navigation.
- FileChooserUI: File chooser draws now a focus ring around selected grayed files.
- RootPaneUI: The maximize button was hidden instead of disabled, if a frame is not resizable.
- ScrollPaneUI: Don't cache border texture.
Version 4.2.3
2008-02-21
Fixes
- FileChooserUI: Fixed Issue #26 - set current directory does not work.
Version 4.2.2
2008-02-12
Fixes
- FileChooserUI: Attempted to fix issue #26 - set current directory does not work.
- TableUI: Fixed issue #29 - selection was drawn one pixel too high, and had repaint artifacts.
- TreeUI: Fixed issue #32 - selection was drawn blue instead of grey, if tree is disabled.
Version 4.2.1
2008-01-25
Fixes
- Fixed broken client property "Quaqua.Component.cellRendererFor".
- TreeUI: Fixed keyboard navigation in tree.
Version 4.2
2008-01-21
Enhancements
- SliderUI with Tiger look added (work in progress).
- Subset look and feels are now included in quaqua.jar.
Fixes
- PantherLookAndFeel: The proper pinstripes were only drawn, when the
current OS was Panther.
- ButtonUI, ComboBoxUI: Only draw focus border for enabled components.
- FileChooserUI: Current directory did not always change when setDirectory
was invoked on a JFileChooser. Native code crashed when a volume was removed.
Sidebar did not update when a volume was inserted or removed.
- TabbedPaneUI: Reduced top insets of tabs.
- TableUI: Set 'showHorizontalLines' and 'showVerticalLines' to
false once when installing the UI, instead of overwriting these properties every
time when the client property "Quaqua.Table.style" is changed. The UIManager-property
'Table.gridColor' is now light gray instead of white.
- LookAndFeel: Quaqua now overrides the UIManager property "ClassLoader".
- TextFieldBorder: Did draw focus ring even when text component was disabled.
- PasswordFieldUI: Only replace echo character with a bullet character, if the echo character is a '*'.
Version 4.1
2007-11-25
Enhancements
- FileChooserUI with Leopard design added. (The quaqua-filechooser-only.jar still only contains a file chooser in Tiger design).
- Support for Open Source Java 1.6 Developer Preview Release 2 (SoyLatte binaries) added.
- Updated selection handling code of TreeUI to better support J2SE 5 drag and drop features.
Fixes
- FileChooserUI for Panther rendered the preview icon with a width of 64 pixels instead of 128 pixels.
Version 4.0
2007-11-03
Enhancements
- Support for Mac OS X 10.5 Leopard added. Most of the Quaqua components are rendered with Tiger design though.
- Quaqua can now be built on Mac OS X 10.5.
Changes
- Dropped support for Java 1.3.
Fixes
- TigerLookAndFeel and JaguarLookAndFeel now properly render with their background colors, when used on Leopard.
- QuaquaFileChooserUI: Now only renders folders in the volumes area of the sidebar. Huge Leopard icons in the preview column are now scaled down, if the native code only delivers large versions of the icons.
- ComponentUI's did never render with inactive state.
- QuaquaTabbedPaneUI with wrap tab layout now properly renders the click-through state on inactive windows.
- QuaquaScrollPaneBorder does not throw anymore a class cast exception, when the viewport view of the JScrollPane is not a JComponent.
Version 3.9.5
2007-10-21
Enhancements
- QuaquaFileChooserUI: Added support for keyboard shortcuts.
Fixes
- QuaquaFileChooserUI: The filechooser did not properly navigate into another directory, if a file was dropped onto it.
Version 3.9.4
2007-09-02
Fixes
- QuaquaFileChooserUI: Fixed NullPointerExceptions when attempting to
immediately resolve aliases.
- quaqua-filechooser-only.jar: Included missing resource files.
Version 3.9.3
2007-08-18
Enhancements
- QuaquaTextFieldUI, QuaquaPasswordFieldUI, QuaquaFormattedTextFieldUI:
Added new UIManager properties "TextField.autoSelect", "FormattedTextField.autoSelect", "PasswordField.autoSelect".
Fixes
- Fixed broken keyboard focus traversal.
Version 3.9.2
2007-08-09
Enhancements
- QuaquaTextFieldUI, QuaquaPasswordFieldUI, QuaquaFormattedTextFieldUI:
Added a new client property "Quaqua.TextComponent.autoSelect"
- UIManager: Added a new property "TextComponent.autoSelect"
Fixes
- QuaquaHighlighter: Must use inactive selection background, when
the text component has a selection, but is not on an active window.
- QuaquaUtilities: Method isFocused() did not properly
determine the focused state of a JComponent, when the user
clicked on another JFrame or another JDialog.
- QuaquaListUI, QuaquaTableUI, QuaquaTreeUI: Don't change the selection of an already
selected item, when the mouse click is a popup trigger.
- QuaquaTreeUI: Support multiple selection by mouse dragging.
By default, the invokesStopCellEditing property of a JTree is set to true.
- BasicQuaquaLookAndFeel: Look and feel decorated title bar did not render properly.
- RootPaneUI: Only snap to the edge of another window, if the window
is within close distance. Don't snap, if the use holds the alt key down, while dragging a window.
- QuaquaTextFieldUI, QuaquaPasswordFieldUI, QuaquaFormattedTextFieldUI:
Transferring the focus to one of these components using the Tabulator key
automatically selects all text on the component.
Version 3.9.1
2007-07-31
Fixes
- QuaquaComboBoxUI: Removed debugging output. UIManager property
"ComboBox.harmonizePreferredHeight" had no effect.
Version 3.9
2007-07-30
Enhancements
- JBrowser: Added support for KeyListener to API. This allows to listen for key
events which occur on the currently focused column.
- ComboBoxUI: Added UIManager property "ComboBox.harmonizePreferredHeight". Setting this to true causes editable and non-editable combo boxes to have the
same preferred height, resulting in better layouts with some layout managers.
- TextFieldUI: Added client property "Quaqua.TextField.style" with the values "plain"
and "search". Set this property to "search" to get a text field with
rounded corners like
the
Spotlight
search field.
- RootPaneUI: Added UIManager property "RootPane.windowSnapDistance". Setting this
to an Integer value greater than 0 causes windows to snap to the edges
of each other and to the screen bounds. This property is only in effect
for look and feel decorated windows.
- LayoutStyle: Added support for Java 1.6 javax.swing.LayoutStyle API.
Fixes
- FileChooserUI: File chooser ran into an inconsistent state, when
the JFileChooser was constructed with a different directory than the users
home directory.
- MenuUI: Listeners were not properly installed, due to this, accelerators did
not work always.
- OptionPaneUI: The application icon was not scaled properly, when
Quaqua ran without native code.
- RootPaneUI: Resize icon wasn't drawn for look and feel decorated
JDialog windows; Look and feel decorated windows couldn't always be dragged from
a secondary screen to the main screen.
- TextFieldUI, FormattedTextFieldUI, PasswordFieldUI: Added two pixels to
preferred width.
- All text component UI's:Fixed input map for backspace key (replaced "typed \010" by "BACK_SPACE").
- quaqua-filechooser-only.jar, quaqua-menu-only.jar,
quaqua-colorchooser-only.jar: Added missing QuaquaLookAndFeel class.
Version 3.8.1
2007-06-18
Fixes
- QuaquaFileChooserUI: Aliases in the sidebar were resolved with user interaction before the user
clicked on them, causing remote volumes to be mounted too early.
- QuaquaColorChooserUI: The color picker threw an exception when it was moved to a secondary screen. The color picker now degrades its functionality when it is moved on a secondary screen.
- QuaquaOptionPaneUI: The OK button sometimes had no text.
Version 3.8
2007-05-26
Enhancements
- Experimental Swedish resource file added. The resource file is mostly
in English, only some texts for the JFileChooser and the JOption pane have
been translated
into Swedish.
Fixes
- QuaquaFileChooserUI: Aliases were resolved with user interaction before the user
clicked on them, causing remote volumes to be mounted too early. Aliases
to folders didn't behave like regular folders.
- QuaquaFileChooserUI PreviewPane: File icons render now properly, when
Quartz is turned off. The file kind is now retrieved from the Finder.
- QuaquaIconFactory: The application icon is now rendered properly, when
Quartz is turned off.
- Quaqua14RootPaneUI: Repaints 200 milliseconds after a resize to
workaround 'double striking' of components. If someone nows how to actually
fix this problem - let me know!
Version 3.7.7
2007-04-16
Fixes
- QuaquaLayoutStyle returns now clones of Insets object.
Version 3.7.6
2007-04-12
Fixes
- QuaquaTextFieldBorder takes margin of JTextComponent into account.
Version 3.7.5
2007-04-11
Enhancements
- To resolve issues with selection colors: Added client
property
Quaqua.Component.cellRendererFor
.
This can be set on a component that is used as a cell renderer. The value
is the component that holds the cells, for example a JTable, a JTree
or a JList.
- FileChooserUI: Double clicking the file preview approves
now the current selection.
Fixes
- Removed unnecessary console output.
Version 3.7.4
2007-02-24
Enhancements
- ColorChooserUI: The text in the text fields is now selected, when
the text fields gain focus.
- ButtonUI: The UIManager property
Button.defaultButtonFollowsFocus
is
now supported on all J2SE versions (not just in J2SE 5 and later
versions). The default value for this property is false
.
Fixes
- ColorChooserUI: Due to rounding errors, some colors, such as RGB
0,170,0 were changed to other values when the color chooser was opened;
The text fields were too short for J2SE 1.3; The text fields in the
HTMLChooser were updated with integer values instead of with Hex
values.
- OptionPaneUI: Sometimes, when creating the icons for a JOptionPane
the following was output on the console, and the application froze:
"Please Attach Debugger: No Autorelease pool exists.
Press any key to continue…".
Version 3.7.3
2007-02-17
Enhancements
- OptionPaneUI: The UIManager property "OptionPane.messageLabelWidth" can
be set to 0, to prevent Quaqua from enforcing the width of HTML messages
displayed in option panes. The UIManager property "OptionPane.maxCharacterPerLineCount"
has now been added, it can be used to use a smaller value than returned
by JOptionPane.getMaxCharacterPerLineCount().
Fixes
- ComboBoxUI: Combo box editor had the wrong background color.
- PopupMenuUI: Mouse released events were just closing the popup
menu without performing menu actions.
- ColorChooserUI: The color chooser did not work in security restricted
Java web-start applications.
Version 3.7.2
2007-02-10
Fixes
- FileChooserUI: Improved performance of file sorting.
- PopupMenuUI: When Quaqua
is run in a security restricted environment, it turns off the fix
for the mouse release behavior.
Version 3.7.1
2007-02-10
Fixes
- ListUI: Only repaints changed cells on contentsChanged event.
- PopupMenuUI: Menu items on a heavyweight popup invoke their actions
now on mouse release
- TabbedPaneUI: Fixed keyboard navigation when
vertical tab runs are shown on the left or on the right. Panther
style tabbed panes were not always rendered with antialasing.
- TableUI:
Did only repaint the lead selection cell instead of all selected
cells when focus changed.
- Text components: Added client property
Quaqua.TextComponent.showPopup
that allows to disable the popup menu created by the Quaqua look
and feel.
- When run with Java 5 or higher, opaqueness is changed
using LookAndFeel.installProperty instead of setting it directly.
- Fixed RequestFocusEnabled for some components.
- JSheet sometimes couldn't get focus.
Version 3.7
2007-01-28
Enhancements
- Support for Graphite appearance contributed by Karl von Randow.
- ComboBoxUI: maximumRowCount was set too high for editable combo
boxes. Baseline was not computed correctly when current value was
null. Clip bounds were not computed correctly for cell renderer.
Issue #13: ComboBox text was not always legible when used as a table
cell renderer.
- EditorPaneUI, FormattedTextFieldUI, PasswordFieldUI, TextAreaUI,
TextFieldUI, TextPaneUI: Popup menu with cut/copy and paste action
added.
- FileChooserUI: Renders now a file icon in the preview column.
Made some tweaks for better fidelity with Tiger design.
- MenuUI:
Improved fidelity of menus, especially when screen menu bar is
turned on.
- ScrollPaneUI: Threw exception when scroll pane was set wider or
higher than the maximum size allowed.
- TreeUI: Selection was not fully repainted on focusGained/focusLost.
- Added UIManager-property "Component.enforceVisualMargin" to
workaround issue #74522 with
the Matisse GUI builder.
- JSheet: Uses native sheet dialogs when running with J2SE6. Bounces
dock icon when sheet is opened (implemented using JNI).
- TabbedPaneUI: Added support for HTML tabs. Fixed keyboard navigation.
Fixed class-cast exception when running the Idea IDE with the Quaqua
Look and Feel.
- The RequestFocusEnabled and the Focusable properties are set to
false for all components except text fields. Added the system property
"Quaqua.requestFocusEnabled" to alter this behavior.
Changes
- Migrating from NetBeans 3.6 to 5.0 (work in progress).
Fixes
- Refined fix for issue #7: Selection line stays blue even if control
looses focus.
- ListUI: Uses now a non-opaque default cell renderer.
- MenuUI: Arrow icon doesn't overlap with menu text anymore.
- TableUI: Uses now a non-opaque default cell renderer.
- TreeUI: Uses now a non-opaque default cell renderer.
- ViewportUI: Repaints the border of its parent JScrollPane if the
focus of its view changes.
- All components render now also with focused appearance when they
are permanent focus owner.
- JBrowser: Lead selection index was not
updated when tree items were inserted/removed.
- FileChooserUI (Panther):
Focus was not set correctly when dialog is opened.
- ToolBarSeparatorUI:
Fixed preferred and minimum size.
- QuaquaUtilites: Added workaround
for NPE in methods beginGraphics/endGraphics.
- TabbedPaneUI: Fixed
a class cast exception.
- ComboBoxUI: Parts of the popup button were
cut of when the visual margin was set to zero.
- quaqua-filechooser-only.jar:
Included ConcurrentDispatcher class into jar file. Jar file didn't
work with J2SE 1.5.
- quaqua-colorchooser-only.jar: Jar file didn't
work with J2SE1.5.
- TitledBorder did not render the border line when
applied to a javax.swing.Box component.
- Issue #1: QuaquaIconFactory.LazyOptionPaneIcon
breaks the contract of Icon interface.
- Issue #2: Display tree stripes
even if tree empty.
- Issue #4: JSheet lags behind when parent window
is moved (fix needs J2SE6, older Java versions can't be fixed).
- Issue
#7: Selection line stays blue even if control looses focus.
- Issue
#11: JTable cells draw selection background when rowSelectionAllowed
- Issue
#12: JComboBox as TableCellEditor offset error.
Version 3.6.8-3.6.11
2006-05-27
Fixes
- FileChooserUI: Aliases to directories were not always resolved.
View was not always updated when a file or a folder was created.
Version 3.6.7
2006-05-14
- ColorChooserUI: Fixed NullPointerException when running on Java
1.3.
Version 3.6.6
2006-04-19
Enhancements
- TabbedPaneUI with scroll tab layout policy: Client property "Quaqua:TabbedPane.shortenTabs"
added. This allows to disable tab shortening.
Fixes
- TabbedPaneUI with scroll tab layout policy: Combo box inherits
now font size from tabbed pane. Selecting the first item of the combo
box did not always work.
- JSheet: Inherit title of parent frame
when displaying JSheet like a regular dialog.
- TableUI: Display black border around active cell.
- RootPaneUI: The title bar of Floating palette windows can't be
fully dragged outside of the usable screen bounds anymore.
Version 3.6.5
2006-04-08
Fixes
- TabbedPaneUI: Fixed NullPointerException when using scroll tab
layout with Panther design.
- AliasFileSystemTreeModel: Changed thread sceduling and
sequence of directory and file info validation.
- TableHeaderUI: Takes now border size into account when deciding
whether table headers are empty or not.
- TableUI: Fixed colors for focused cell.
- CheckBoxUI: Renders with small icon when the JCheckBox implements
TableCellRenderer or TableCellEditor.
Version 3.6.4
2006-04-02
Fixes
- FileChooserUI: Approve button was not properly enabled/disabled
when text in the file name field was entered or removed.
- ComboBoxUI did not fire an action event when user pressed the enter
key in the text field.
Version 3.6.3
2006-03-28
Fixes
- FileChooserUI: setSelectedFile() did not always set the selected
file in the JFileChooser; A new folder was sometimes created a level
higher than the current directory; Entering a file name which starts
with the same name as an existing folder immediately selected the
folder while typing.
Version 3.6.2
2006-03-15
Fixes
- FileChooserUI: Couldn't save to a new file.
- ColorChooserUI: Color picker threw a null pointer exception when
used.
Version 3.6.1
2006-03-12
Enhancements
- JNI Library: Libraries which preload the Quaqua JNI library by
themselves can set system property "Quaqua.JNI.isPreloaded" to true,
to prevent Quaqua from loading the library again.
Fixes
- FileChooserUI: Double clicking a folder does not anymore approve
the file chooser when directory selection is enabled. Multiple file
selection returns now all selected files. Using a JFileChooser both
for loading and saving files made method setSelectedFile not working
properly.
- JNI Library: Universal binary did not work on Intel computers.
- ColorChooserUI: Color picker can be canceled using the escape key.
Color picker is not displayed, when pixels from the screen can not
be read due to security restrictions.
- JSheet does not show a white background anymore when it can't set
its parent JDialog to translucency due to security restrictions.
Version 3.6.0.4
2006-02-19
Enhancements
- FileChooserUI: Displays a warning dialog when the user attempts
to save to a file that already exists. Does not support Unix
wildcards in the filename text field anymore. Improves performance
on slow network volumes, such as WebDAV folders.
- ColorChooserUI: Has now a color picker tool. This requires Java
1.5.
- ButtonUI: Has now two new styles: "placard" and "tableHeader".
- TabbedPaneUI: Replaces Apple's TabbedPaneUI for Panther. The new
Panther TabbedPaneUI squeezes tabs and eventually collapses them
into a combo box if not enough space is available. The TabbedPaneUI
can now be customized by more client properties.
- TableUI supports now the client property "Table.isFileList".
- OptionPaneUI: Displays the application icon in the option pane.
This requires Java for Cocoa.
- JNI library is now a Universal binary supporting PowerPC and
Intel Macs.
- RootPaneUI: Can draw frame decorations in three sizes: standard,
small and mini. This is intended for use by floating palettes as
well as for use by the ToolBarUI. The title pane of a frame can be
placed at the top or at the left of the content pane.
- ToolBarUI: Uses now a mini sized title pane.
Fixes
- JSheet showed with white background when running with
Java 1.4.2_05 on Mac OS X 10.3.5. To avoid this, JSheet is shown without
a translucent background.
- QuaquaManager: Prints now a warning message, when resource files
can not be accessed.
- JFileChooser did not work on Windows XPJ (Japanese).
Version 3.5
2005-12-11
Enhancements
- QuaquaLookAndFeel: Reduced start up latency.
- FileChooserUI: reads file icons and file labels asynchronously
to improve perceived performance. Uses now the user defined sorting
sequence in
the sidebar.
Uses new
imagery for folders and files.
- SplitPaneUI added.
- ScrollBarUI: Client property "Quaqua.ScrollBar.placeButtonsTogether"
added.
- MenuBarUI supports now Tiger design.
- JSheet shows and hides with a transition effect.
Changes
- The resource bundle for labels is now retrieved from an UIManager
property to facilitate reuse of the Quaqua L&F in other L&F's.
- QuaquaManagerMethod getLookAndFellClassName does not use UIManager.getDefaultLookAndFeel
anymore to decide which Quaqua look and feel implementation to use.
- System property "Quaqua.Debug.crossPlatform" removed.
- TableHeaderUI defaults now to "leading" aligned labels, instead
of "center" aligned labels.
- LabelUI supports now BackgroundBorder drawing.
- Reorganized some packages.
Fixes
- FileChooserUI: Does not change text of the filename field
while it has focus. Hides more files.
- ViewportUI: Now properly delegates background drawing to ViewportPainter's.
- ColorChooserUI: Does not write to System.out anymore, if user enters
non-numeric text into color value fields.
- QuaquaUtilities.repaintBorder does not throw an NPE anymore in
method repaintBorder, if the component has no parent.
- BrowserUI: Tweaked disclosure icons
- ScrollBarUI: Tweaked vertical topmost position of thumb. Small
separated scroll bar buttons were not drawn with the correct state.
- QuaquaBorderFactory: Due to a bug, the factory never created CachedImageBevelBorder's.
- Text component borders and scroll pane borders now properly draw
in a lighter color, if the component is disabled.
Version 3.4 - 3.4.1
2005-10-02 - 2005-10-03
Enhancements
- JSheet added.
- TitledBorder: Draws now in a NSBox like style.
- ScrollBarUI added. Places scroll arrows according to system
preferences. Changes "Click in the scroll bar" behaviour
according to system preferences. Supports regular and small size
style.
- ButtonUI provides a new "help" button style.
- Startup latency has been improved by making more use of UIDefaults.LazyValue.
- Drawing speed has been improved by introducing a CachedImageBevelBorder.
- ColorChooserUI: Color Palettes panel added.
This UI depends now on more UIManager properties. This allows to
better
support
a "color
chooser-only" subset
of the Quaqua Look and Feel.
- FileChooserUI shows a tooltip for a filename, if the filename
does not fit into a column.
- TreeUI: Behaviour and appearance of tree selection changed. This
change was inspired by the article "Giving
JTree Fitts" by Adam Walker.
Fixes
- ButtonUI: Borders draw now in pressed state only, if the button
is pressed and armed.
- ScrollPaneUI: Does not fill its background anymore when it
is set to non-opaque.
- Fixed quaqua-filechooser-only.jar
- ButtonUI:"Quaqua.Button.style" = "help" does
draw now properly when in pressed but not in armed state. "Quaqua.Button.style" = "push" does
not draw the blue flashing default animation, if it is in pressed
but not armed state.
- TitledBorder: Increased insets.
Build
- Three example subsets of the Quaqua Look and Feel are now provided
as bundled jar files: quaqua-filechooser-only.jar, quaqua-colorchooser-only.jar,
quaqua-menu-only.jar
Version 3.3 - 3.3.1
2005-08-28 - 2005-09-08
Enhancements
- ColorChooserUI: Added a Color Wheel panel and a Crayons panel.
- ScrollPaneUI: Ensures that the ScrollBars don't overlap with
the grow-box of the window.
- JBrowser: Renders now empty columns to the right, when there is
room left in the JViewport.
- QuaquaMetalLookAndFeel: Improved color fidelity.
Build / Sourcecode
- Included source of swing-layout project, in order to ensure that
Quaqua can be built from source.
- Removed dated layout examples.
Fixes
- JPanels inside of JScrollPanes had a white background
instead of gray.
- QuaquaColorCooserUI: The color tracks of the HTML sliders panel
were not always updated when the user switched the option "only web-safe
colors"
on and off.
- JFileChoosers don't crash anymore whe running Quaqua in debug modus
on Windows.
- QuaquaSliderUI: Moved slider buttons closer to text field.
Version 3.2 - 3.2.1
2005-07-13 - 2005-07-14
Enhancements
- Added support for JTree's with alternating row colors (stripes).
Fixes
- Fixed NullPointerException which occured when multiple files are
selected in a Panther JFileChooser.
- Fixed broken quaqua-filechooser.jar.
Version 3.1 - 3.1.2
2005-07-05 - 2005-07-10
Enhancements
Fixes
- Calling putClientProperty("windowModified", Boolean.TRUE)
on a RootPaneUI which is not displayable does not throw a NullPointerException
anymore.
- Setting a default button on JRootPaneUI now properly assigns
the key bindings for the Return key to the button.
- Added missing ENTER key input map entry for text fields.
- Removed unnecessary output on System.out.
- Added QuaquaSpinnerUI to QuaquaMetalLookAndFeel
Versions 3.0alpha - 3.0
2005-04-10 - 2005-06-07
Enhancements
- ColorChooserUI added.
- EditorPaneUI, FormattedTextFieldUI, PasswordFieldUI, TextAreaUI,
TextFieldUI, TextPaneUI added or enhanced.
- LabelUI added.
- ButtonUI, CheckBoxUI, RadioButtonUI, ToggleButtonUI added.
- ToolBarSeparatorUI, ToolBarUI added.
- PanelUI, RootPaneUI added.
- ComboBoxUI enhanced.
- Support for Quaqua.Component.borderMargin property added.
- ColorWell
style for buttons added.
- Localized ColorChooserUI for German, French and Italian.
- Behaviour for ColorSliderUI implemented, that now better matches
the one of the native color sliders.
- Added debug feature to run Quaqua on top of the Metal L&F instead
on top of Apple's Mac OS X L&F's.
- Added debug feature to display visual bounds and clip bounds of
Quaqua UI delegates.
- Added experimental API to access visual layout info from Quaqua
UI delegates. Also added experimental VisualGridBagLayoutManager
to test the API.
- Added a look and feel for Tiger. It doesn't do yet anything different
than the one for Panther though.
- Added UIManager properties "Button.opaque", "Panel.opaque", "TextField.opaque",
..., to control the opaqueness of components.
- Added System properties "Quaqua.opaque", "Quaqua.sizeStyle", "Quaqua.selectionStyle", "Quaqua.visualMargin", "Quaqua.tabLayoutPolicy".
- Added support for binary PList files. This is needed to read the
user preferences for the sidebar in the FileChooserUI when running
OS X 10.4.
- Changed colors and fonts in the preview column of the FileChooserUI
to better match native file dialogs of Mac OS X 10.4.
- Added support for file type 'Widget' to the preview column of the
FileChooserUI.
Changes
- Renamed Client-Property "Quaqua.Component.borderMargin" to "Quaqua.Component.visualMargin".
- Renamed UIManager-Property "Component.borderMargin" to "Component.visualMargin".
- Moved utility classes into separate
util
package.
- Moved icon of radio buttons up by one pixel.
- Updated NanoXML to Java 2 Collections framework.
Bug Fixes
- FileChooserUI supports now file names with relative path components.
- Blinking default button is now drawn regardless of the window type
instead of just only on JDialog windows.
- ColorSliderUI had misaligned color bar.
- ToolBarUI had bad insets.
- Panther FileChooserUI: Fixed drawing of color labels. Did some
minor layout tweaks.
- Implemented workarounds for texture paint bugs in Java 1.4, 1.5
JVM on Mac OS X 10.4 Tiger.
- Implemented workarounds to improve performance of texture painting
in Apple's Java 1.3 JVM.
- JButton's does not draw a border anymore, when its "borderPainted" property
is set to false.
- The "Quaqua13PantherLookAndFeel" (instead of the "Quaqua13TigerLookAndFeel")
is now used when running Java 1.3 on Mac OS X 10.3.
- QuaquaToolBarBorderUI does not throw a class cast exception anymore
if it is used on another component.
- JTree does not draw white lines anymore.
- Calls to System.getProperty() catch now security exceptions, in
order to make Quaqua work with Java Web Start applications.
- On rollover, selected Buttons display now the selected icon, if
the rolloverSelected icon has not been supplied. In prior versions
the default icon was displayed.
- The windowModified client property works now on JRootPane's.
- Renamed variables which had the name "enum" to avoid
conflicts with the Java 1.5 programming language specification.
- Fixed choice pattern exception in Italian locale of FileChooserUI.
- Entering a color in the HTML field in the ColorChooserUI did not
update the sliders.
- Controls were not updating their state on window deactivation/activation
when running with Java 1.5.
- Quaqua is not using ProxyLazyValue for QuaquaMenuBorder anymore
when running with Java 1.3.
- Fixed ComboBoxUI popup insets when used as a non-editable TableCellRenderer
with Java 1.3.
- Fixed FileChooserUI insets for labels in preview panel when running
with Java 1.3.
- Fixed broken FileChooser-only versions of Quaqua.
- Quaqua is now setting dummy-insets in the UIManager for insets
that change their size dynamically. Prior 3.0 beta versions set these
insets to null which caused some JVM's to crash.
- Vertically aligned labels and values in the preview column of the
FileChooserUI.
- Borders return now always a clone of their insets.
- ComboBoxButtonUI does not draw with bad insets, if the look and
feel is changed after the JComboBox has been created.
Version 2.8 - 2.8.3
2005-01-30 - 2005-03-21
Enhancements
- Panther design: JFileChooser's renders color labels. This feature
requires the presence of libquaqua.jnilib in the library path.
- Panther design: JFileChooser's show a preview column for files,
when used as an open dialog. This feature is localized for English,
German, French and Italian only. The preview column is not shown
for other languages.
- All designs: The sorting order of Files in JFileChooser's matches
now much better the sorting oder of native file dialogs.
- All designs: File names in JFileChooser's are abbreviated in the
middle (instead of at the end).
- Added missing binding for TAB key
in multiline text fields.
- Added missing files to quaqua-filechooser.jar.
- Panther file chooser did not work with Java 1.3 due to missing
Locale, when JFileChooser has no parent.
- Panther file chooser did not properly display file preview with
Java 1.3.
- Setting illegal file paths with non-existent path elements could
cause IllegalStateException when opening a JFileChooser.
Bug Fixes
- Apple's MRJ for Java 1.4.1 throws a class cast exception when Quaqua
tries to draw an image bevel border using a compatible buffered image.
To work around this, Quaqua uses now a standard ARGB image when running
on this JVM.
Version 2.7
2005-01-06
Enhancements
- All Quaqua UI's that are in use for Java 1.4 are now used for Java
1.3 as well. This results in many improvements when running Java
1.3.
- Panther design: Selected items in list, tables and trees are now
shown with white text on a darker version of the selection color.
This matches much better the Panther design than before.
- Quaqua uses now its own MenuUI and MenuBarUI, if the screen menu
bar is switched off.
- Panther design: Quaqua uses now a round check icon on RadioButtonMenuItems
instead of a diamond check icon.
- Java 1.3 version: user interface elements on inactive windows are
now rendered with inactive appearance.
Bug Fixes
- Quaqua closes now the file ~/Library/Preferences/com.apple.sidebarlists.plist
after it has read it.
Version 2.6
2004-12-22
Enhancements
- Mouse popup triggers (Ctrl+Click) does not change the selection
of a JTable, JList or JTree.
- Quaqua uses now the color gray consistently for focus borders in
JTable's, JList's and JTree's.
- Setting the client property "Quaqua.List.style" to "striped" on
a JList renders the list with altnernating row colors. This feature
is only available when the JList has a vertical layout orientation.
Version 2.5
2004-12-05
Enhancements
- Improved keyboard behaviour of JTextField, JTextArea and JComboBox.
Cursor up moves to the beginning of the text if the cursor is on
the first line. Cursor down moves to the end of the text if the cursor
is on the last line. Alt+Del deletes to the end of the word or the
next word. Alt+Backspace deletes to the beginning of the word or
the previous word. (Improvements apply to Java 1.4 only).
- Changed icon of CheckBoxMenuItem to match Panther design (Java
1.4 only).
- JFileChooser's use the last modification time of a directory to
decide wether its contents needs to be read again. This should greatly
reduce I/O when a file chooser is reused, or when a user browses
the same directory multiple times.
Bug Fixes
- Added missing classes to quaqua-filechooser.jar to fix ClassNotFoundException.
Version 2.4
2004-11-05
Enhancements
- The user items section of the sidebar of the QuaquaPantherFileChooserUI
shows now the same user items as the Finder.
(This works only, if the JNI code of Quaqua is in the library path).
Bug Fixes
- Vertical scrollbar in sidebar of the QuaquaPantherFileChooserUI
did never appear, even when there was not enough space in the sidebar
to display all items.
- Sidebar of the QuaquaPantherFileChooserUI erroneously suported
multiple selection of items instead of single selection.
Versions 2.3 - 2.3.1
2004-11-02
Enhancements
- Dropping a file on a JFileChooser selects the file.
- The computer is now shown as the root of the file system in the
folder combo box of JFileChooser's. In previous versions, the system
volume was shown as the root. This fix works only on Mac OS X 10.3
or later.
- Renamed file libQuaquaFiles.jnilib to libquaqua.jnilib.
- Selecting
an item in the sidebar or in the location combo box using a QuaquaPantherFileChooserUI
did not always work.
Version 2.2
2004-10-26
Enhancements
- The release contains now a new file quaqua-filechooser.jar which
contains only the Look and Feel classes for the Panther FileChooser
UI. This is for use in applets or applications that have size restrictions.
Bug Fixes
- Calling setFileSelected on a JFileChooser did not work properly,
when the provided File object had a relative path.
- When a file is selected, the open button was made enabled, but
not made the default button (blue flashing).
- Double clicking a JFileChooser did not approve the current file
selection.
Version 2.1
2004-10-17
Enhancements
- The FileChooserUI's resolve now aliases to files and directories.
- Determining the name of the system volume in class PantherFileSystemView
now uses fallback code, if method File.getCanonicalFile() on a volume
fails. In prior versions this caused an InternalError, when attempting
to open JFileChooser.
Bug Fixes
- The file name text field in a save file JFileChooser dialog keeps
now its contents, when another directory is selected.
Versions 2.0beta - 2.0.2
2004-07-29 - 2004-10-06
Enhancements
- Cleaned up the number of look and feel classes.
- FileChooserUI with Panther design added.
- QuaquaFileChooserUI label of approve button changes to "Choose",
when the file chooser is used to choose a directory.
- Added missing keyboard bindings for QuaquaComboBoxUI.
- Added functionality to make Quaqua Look and Feel work in a Java
1.3 Applet sandbox.
Bug Fixes
- Fixed bugs in FileChooserUI with Jaguar design.
- Fixed an IndexOutOfBoundsException
in QuaquaFileChooserUI which caused a file chooser to become unresponsive.
- Fixed a bug which caused some JComponents on a java.awt.Window
to always draw in inactive state.
- The popup of the ComboBoxUI extends
its width to accomodate the widest item in the list.
Version 1.8
2004-06-26
Enhancements
- TableUI with support for striped style added.
- Jaguar design for TabbedPaneUI can be switched off.
Bug Fixes
- Fixed bugs in FileChooserUI.
Version 1.7
2004-05-02
Enhancements
Bug Fixes
- FileChooserUI creates folders now at the correct location.
- MenuUI has now corrected popup offsets.
- When running Java 1.4 or higher, QuaquaComboBoxUI and QuaquaTabbedPaneUI
render in click-through state, when their parent Window is not focus
owner.
Version 1.6 - 1.6.2
2004-03-14 through 2004-03-30
Enhancements
- File names are displayed in gray, when the JFileChooser is in FILE_SAVE
mode.
- System property 'Quaqua.FileChooser.autovalidate' added.
- When clicking on a file on a JFileChooser in FILE_SAVE mode, the
file name is now transferred into the filename text field. Thus the
JFileChooser behaves now like a native file dialog for Mac OS X 10.3
(Panther). The look of the JFileChooser is still the one of Mac OS
X 10.2 (Jaguar).
Bug Fixes
- Reimplemented the update strategy for the FileSystemTreeModel.
A directory is now updated only when the user clicks at it. Prior
to this version, the whole path up to a file was refreshed frequently.
This resulted in an unacceptable amount of I/O operations for directories
located on remote computers.
- Class OSXFileView catches NullPointerException's thrown by AquaFileView,
when trying to determine isTraversable on aliases if the the alias
is to a network volume that is no longer mounted.
- Fixed an IndexedOutOfBoundsException which occured when a 'default'
file name was supplied to a JFileChooser in FILE_SAVE mode, and the
user aborted the JFileChooser.
- OSXFileView throws a NullPointerException when method getName(File)
is called with a null argument. This prevents the JVM from crashing
in native code in the AquaFileView.
- Reduced the size of quaqua.jar. Some image files in quaqua.jar
were unnecessarily big. The classes are now compiled without debugging
information.
Versions 1.5 - 1.5.1
2004-02-07 through 2004-02-15
Enhancements
- Support for Java 1.4.2 added.
- Improved the performance of the FileSystemTreeModel and the OSXFileView.
This significantly reduces the slugginess of the QuaquaFileChooserUI.
Bug Fixes
- Fixed a sporadicaly occuring null pointer exception in the QuaquaFileChooserUI.
- Fixed more sporadicaly occuring null pointer exceptions in the
QuaquaFileChooserUI which were caused by class JBrowser using method
JComponent.getLocationOnScreen() to determine the mouse location.
Version 1.4
2003-11-13
Enhancements
- Support for tabbed panes with tabs on the left and on the right
added.
- Symbols for menu accelerators using cursor keys added.
- Pressing the enter or return key in the file name text field of
QuaquaFileChooserUI triggers the accept action.
Version 1.3
2003-10-29
Enhancements
- Support for Mac OS X 10.3 (Panther) added.
Versions 1.1 - 1.2.2
2003-09-11 through 2003-10-09
Enhancements
- Look and Feel with specific workarounds for Apple's Java 1.4.1
Update 1 added.
- FileChooserUI with column view added.
Bug Fixes
- JBrowser expands path on mouse down instead of on mouse up. This
provides a snappier user esperience for the FileChooserUI.
- Diagnostic
Output to System.out removed.
- Menu fixes need to be switched off
when useScreenMenuBar option is set, because Apple's Aqua LAF casts
MenuItemUI to AquaMenuItemUI.
Version 1.0
2003-09-05