WebLaF v1.26
Release Notes
Within next few updates i will add a lot of custom component painters and other StyleManager-related stuff (including the StyleManager itself) as this is the most requested feature so far and i will try to finish it as fast as it is possible. With this update first full custom painters support was added into WebPopupMenuUI and WebScrollBarUI classes.
Features
- WebPopOver dialog added
- WebSplitButton component added
- WebTreeUI drop location painting added
- AsyncTreeTransferHandler added for quick DnD implementation in async trees
- Full painter support implemented for WebScrollBarUI and WebPopupMenuUI
- ShapeCache added to simplify Shape objects caching depending on shape settings
- PainterShapeProvider interface added to allow painters provide their base shape
- InnerShadePainter added
- FormLayout added
- SingleAlignPanel added
- WebPopupMenuSeparator component added
- DoubleMap added
Improvements
- Improved support for runtime LaF switching [ #77 ]
- Added property to honor non-UIResource component borders ( thanks to @bobbylight )
- Precomputed OS name and type added into SystemUtils ( thanks to @ianp )
- Major improvements made to Painter interface
- Disabled icons caching added to improve performance
- Empty title and max title width added into WebRootPaneUI style settings
- Supported languages can now be read from dictionary and record
- Enumeration list->string and string->list conversion methods added into TextUtils
- JTabbedPane language updater added
- WebCollapsiblePane language updater added
- ProxyManager proxy autodetection is now disabled by default
- WebCheckBoxList checked elements retrieval method added
- WebPanel provideShape method can now provide painter shape if one specified
- WebPopup shape is now determined by mouse events and properly handled
- WebAsyncTreeCellRenderer failed state icon generation simplified
- PopupMenuAdapter added to simplify PopupMenuListener usage
- WebAsyncTree nodes can now be retrieved using their ID
- Massive nodes removal method added into WebAsyncTree
- AsyncTreeModel improvements made for asynchronous data update
- WebTree multiply/single selection switch method added
- WebTreeUI selection behavior improved for full-line selection mode
- TableLayout constructors and methods improved
- TableLayout class moved to com.alee.extended.layout package
- File name length limit added into WebFileChooserPanel history list
- FocusManager thread-safe trackers iteration
Bug fixes
- WebRootPaneUI decoration with empty title fixed [ #70 ]
- Notification display with no focused window fixed [ #66 ]
- WebComboBoxUI wheel scrolling through choices fixed
- Window "resizable" property changes are now properly listened in WebRootPaneUI
- ReflectUtils type check for null arguments fix
- LanguageManager keys caching fixed
- WindowSettingsProcessor settings load fixed
- AbstractLayoutManager default behavior fixed
- WebDateField null date value case fixed
- WebListUI rollover cell update fixed
- WebImage disabled state fixed
- FocusManager focus tracking fixed
- WebTreeUI selection now properly uses tree border insets
- WebTreeUI horizontal and vertical lines repainting fixed
- WebAsyncTree sorter and filter update right on initialization fixed
- WebAsyncTree listeners removal method fixed
- AsyncTreeModel listeners removal method fixed
- AsyncTreeModel now properly stops tree editing on node reload
- AsyncTreeModel child reload fixed
- AsyncTreeModel child requests threading fixed
- WebToolBarUI incorrect buttons border updates fixed
- WebFileTreeCellRenderer icon fixed
Demo application
- WebSplitButton demo examples added
- WebPopOver demo examples added