WebLaF v1.27
Release Notes
It might seem that not a lot of work was done in the last few months, but its not true. I have completed the hardest part of components styling - I was able to solve all the problems I have encountered without making any "stinky" workarounds in the code. So in the end - there will be a few styling layers for each component and you can modify each of them to alter component's view.
So this update introduces first beta version of StyleManager and affects a lot of aspects of WebLaF library. Be aware that it might make your projects non-compilable as some of deprecated features were removed or replaced with their updated versions. Such changes might occur a few times more until the final stable release. To make things clear i have posted a large separate guide about new styling system and included features: https://github.com/mgarin/weblaf/wiki/How-to-use-StyleManager
This update does not provide a fully-functional StyleManager version but gives you a brief preview of WebLaF styling system and helps you to prepare for upcoming changes. In next few updates i am going to release all of the rest specific Painter implementations for Swing and WebLaF components to complete StyleManager, so WebLaF will finally become fully stylable and flexible. Futher updates will include the rest of the features everyone requested a lot of times like Dark theme and additional components.
So hold tight and be ready for more exciting updates!
Features
- StyleManager core functionality added
- Skins (aka themes) support added
- Default WebLaF skin added
- Alpha version of StyleEditor tool added
- NinePatchEditor image rotation features added
Improvements
- WebInternalFrame buttons made non-focusable [ #90 ]
- WebScrollPane method to hide scroll bar buttons added [ #95 ]
- WebButtonGroup style updates and component add improvements [ #96 ]
- WebButton decoration improvements for WebButtonGroup [ #105 ]
- JScrollBarSettingsProcessor added for JScrollBar value auto-save possibility
- All default painters are now custom and moved into separate skin package
- Redundant PainterMethods interface removed
- All specific style settings are now contained inside painters only
- Text representation for UniqueNode improved
Bug fixes
- Option "OptionPane.isYesLast" is now set to true for Mac OS X [ #55 ]
- PainterSupport and FocusManager memory leak fixed [ #80 ]
- WebCalendar month/year switch for last days of month fixed [ #82 ]
- Focus tracking issues for various component fixed [ #83 ]
- Maximize function for decorated windows fixed [ #85 ]
- WebFileDrop settings and selected files fixed [ #86 ]
- WebPopupPainter fixed for zero shadeWidth/round case [ #87 ]
- WebPopupMenuUI NullPointerException fixed [ #91 ](thanks to @Sciss)
- WebPopupPainter bottom side corner fixed [ #93 ]
- Checkbox animation can now be disabled by default [ #99 ](thanks to @jordeu)
- Fixed window transparency update for later versions of JDK 7 [ #72 #79 #104 ]
- WebDirectoryChooser roots filtering and display fixed [ #107 ]
- Checkbox state is now updated when checkbox model is changed (thanks to @jordeu)
- Popup menu margin properly used within PopupMenuPainter to draw corner fill now
- NinePatchIcon painting within custom bounds fixed
- WebScrollBarUI preferred size fixed
- WebAsyncTree root sorting/filtering exception fixed
- WebButtonUI margin for hidden sides fixed
- NinePatchIcon cache initialization fixed
- WebListUI rollover cell highlight fixed
- Default SettingsProcessors a few minor issues fixed
Demo application
- Improvements made to some demo examples affected by StyleManager
- Heavy animation switch fixed