Updates
Thanks for the various comments. We’ll try to keep you updated here when changes are made to the code so you can get a new copy.
The updates listed here have been made more than a month ago.
Recent updates (less than a month old) will be displayed on the blog home page.
September 13, 2009 – Moving Windows
- has been update to support “snapping” to a location so that it will work more effectively with Resizing Components.
September 6, 2009 – Global Event Listeners
- a KeyEventPostProcessor example was added.
August 25, 2009 – Menu Scroller
- Redundant MouseListener removed and code shortened.
July 21, 2009 – Moving Windows
- setDragInsets(…) method was added. This method allows you to specify an area where mouseDragged events are ignored for the purposes of dragging the component. This will allow the component to support both dragging and resizing.
- changed constructors such that you now need to specify the parent Component to be moved. This provides more flexibility in choosing which components are movable.
July 7, 2009 – Text Component Line Number
- added support for multiple fonts and font sizes. That is the line height of the line number will now vary to match the related text component.
June 28, 2009 – Compound Undo Manager
- attribute changes are only compounded when the caret position hasn’t changed. This indicates a change in attribute as a result of syntax highlighting. Other attribute changes like “bolding” text will involve a caret change as the text is selected and will be considered a separate edit for undo purposes
- also added a Webstart demo to show the above behaviour
June 10, 2009 – Text Component Line Number
- fixed a minor bug. The FontMetrics of the text component should be used to determine the height of each line as it is painted.
- added a PropertyChangeListener – using the setUpdateFont() method you can cause the Font to be updated when the Font of the related text component is changed.
June 10, 2009 – Relative Layout
- Invisible components are handled properly. They are not included in the size calculation or in the layout process.
May 14, 2009 – Line Painter
- Now supports highlighting of wrapped lines correctly.
April 27, 2009 – Rotated Icon
- Functionality was added to support an Icon that will rotate “about its center“. All you need to do is specify the angle of rotation.
April 15, 2009 – UIManager Defaults
- Improved support for displaying the Icons. More Icons are painted and they are painted at their full size.
April 15, 2009 – Wrap Layout
- The layout was not wrapping when doing a frame Maximize followed by a Restore
April 6, 2009 – Menu Scroller
- Added support for freezing items at the top and/or bottom of the menu.
April 2, 2009 – Menu Scroller
- Addressed the issue of erratic behavior after clicking the up/down scroll items.
- Added keyboard control for scrolling.
- Added support for JPopupMenu.
March 19, 2009 – Tabbed Pane Focus
- the Reset Focus policy was not working as documented.
March 1, 2009 – Relative Layout
- added setBorderGap(…) and getBorderGap() methods
- this will allow you to control the gap before the leading component and after the trailing component
February 28, 2009 – Bean Table Model and Row Table Model
- method, formatMethodNamed() was moved from the BeanTableModel to the RowTableModel
- at the same time the method was made static and renamed to formatColumnName() to better reflect its purpose.
This will allow all sub classes of the RowTableModel to use this method, if required
February 1, 2009 – Relative Layout
- fixed a layout bug when using the setFill() method – see second comment in the posting for more details
- also added a setFillGap() method as suggested in the comment
February 3, 2009 – Relative Layout
- added getters/setters to follow Java Bean conventions as suggested in comment 5.
- added getConstraints() method to be consistent with other Layout Managers
December 29, 2008 – Row Number Table
- Make sure the provided RowNumberRenderer is always used by setting it as the cell renderer for the TableColumn.
December 9, 2008 – SwingUtils
- getUIDefaultsOfClass methods revised to return UIDefaults instead of Hashtable. This is in view of side effects of methods overridden in UIDefaults that result in inconsistent return values from the methods it inherits from Hashtable.
November 20, 2008 – ComponentTreeModel
- method getComponentTreeModel updated to add the component subordinate to, instead of at, the node passed in as root. This facilitates adding multiple component hierarchies to the same pre-existing node.
November 19, 2008 – ComponentTreeCellRenderer
- code updated to add null checks and default values for background colors
November 18, 2008 – Table Column Adjuster
- post updated to list restrictions when using the setAutoResizeMode() method
- code updated to better handle the different auto resize modes
November 15, 2008 – SwingUtils
- code updated to cater to boolean properties
- Javadoc comments updated to clarify that searches are depth-first