Oct 31 2011
So here we go! Second big update since the release of alpha-version.
It took me almost a month and lots of effort to finish this release.
It is still in alpha-state but since next (1.3) version it will become beta.
Also, hopefully, 1.4 version will already be stable and since that version there will be a lot of changes coming in library and on this site aswell.
So, let’s get back to new 1.2 version and see what is new in it…
– SettingsManager added
It allows You to quickly save any simple (strings, integers e.t.c) and even complex (serializable objects) settings in Your application.
It uses famous XStream library to serialize settings into pure XML.
For now all the settings are stored in user home directory under “.weblaf” subdirectory in different file for each settings group.
This is how settings can be easily saved:
SettingsManager.set ( "MySettingsGroup", "myProperty", "myValue" );
SettingsManager.get ( "MySettingsGroup", "myProperty", "defaultValue" );
You can skip settings group if you don’t want to assign it, in that case default group will be used.
There is also many ways to read/save different settings.
– ProxyManager added
This manager allows You to quickly setup application/connection proxy (including authentication).
You can also retrieve and use Your system proxy settings.
In case authentication will be required but there is no login/password specified in settings – user will be requested to enter them.
All proxy settings are once saved and auto loaded later through SettingsManager.
– DnD is now supported in file chooser components
You can now drag files on WebFileTree, WebPathField, WebFileChooserField or WebFileList to quickly show that file/folder in the component.
– Components highlighting inside any Java-window
To do that just use HighlightManager methods to set one or more highlighted components.
Just don’t forget to clear highlight after You re done
– Window hotkeys quick preview in tooltips
To do that You have to use HotkeyManager to setup hotkeys for components and just call:
HotkeyManager.showComponentsHotkeys ( topComponent );
to show all component and its subcomponents hotkeys.
You can also quickly install a hotkey for this action:
HotkeyManager.installShowAllHotkeysAction ( getRootPane (), Hotkey.F1 );
You can specify any other top-level component under which action will be listened.
– Possibility to add leading or trailing icon to text or password fields
You can add any component inside the fields by simply calling:
textfield.setLeadingComponent ( lead );
textfield.setTrailingComponent ( trail );
on any instance of WebTextField or WebPasswordField.
This is how it could look:
– Quick default localization change possibility added
You can now quickly setup standard components localization by calling:
StyleConstants.language = StyleConstants.RUSSIAN;
Before WebLookAndFeel initialized. English language is set by default.
For now only Russian and English languages supported.
Some more might be added in later releases.
– WebStatusBar component added
Simple styled status bar:
– WebMemoryBar component added
Memory bar, representing current Java application memory state:
– WebVerticalLabel component added
Simple label which is positioned vertically counter/clockwise:
– WebFilesDrop component added
This component allows to drop any kind of files on any OS on it:
Dropped files are stored as changeable list:
– WebDirectoryChooserPanel and WebDirectoryChooser components added
Additional to WebFileChooserPanel and WebFileChooser components.
They are a bit more simple and allow to choose only one directory at a time:
– WebImageTransition and TransitionPanel components added
This feature took a lot of time, but it costs the time spent!
These two components allows You to quickly add nice animated transition effect for any two components/images:
There is not a big choice of effects so far but there are some.
It is optimized and doesn’t eat a lot of memory but could cause some GCs to run if you are running at very low maximum memory.
You can see the transition effect in library demo (switch panels through menu bar or check the effects tab).
– WebImage component added
This a simple image component with a bit more comfortable usage than JLabel.
You can create image component straight by image source without any Icon.
– WebPathField edited path auto completion added
Automatically show all available paths from the current position in the field in additional window:
– Many components draw and settings improvements
I have refactored a lot of code and added most of UI settings into Web-components to call them straight and easily.
Some of default component settings were changed a bit to improve application style.
– Massive changes and improvements to tooltip system
First of all – tooltip system was fully changed to improve its speed and make the code clear.
CustomTooltip is now the main component used by TooltipManager.
TooltipManager doesn’t clone GlassPanes for same window anymore.
One-time tooltips are now won’t be closed by moving mouse outside the component by default.
– Checkbox and Radio button UIs changed to dynamic painting
Checkbox and Radio button UIs were changed from static images painting to dynamic ones.
Now they represent their focus properly and also a bit faster in updating their view.
– Menu items selection style changed
Just check out the new menu selection style:
– Hidden file icons are now displayed as half-transparent
Hidden files icons are now half-transparent:
To display hidden files in all file components just use:
StyleConstants.showHiddenFiles = true;
before WebLookAndFeel initialized.
– Animation added in checkbox list for check state changes
Yes, it is now properly animated when You switch the checkbox state.
You can check this in demo application
– All four tab positions now properly displayed in tabbed pane
– Files deletion now asks for confirmation
– WebPasswordFieldUI border fixed
Some minor WebPasswordFieldUI border fixes.
It was a bit different from the one in WebTextFieldUI.
– Button highlights are now properly resetted in closed windows
After closing a window by pressing any “Ok”/”Cancel” e.t.c button – they were frozen in highlighted state.
Now that bug is gone and buttons properly reset their state in such cases.
– Toolbar gripper is now always properly displayed
Just a small changes for toolbar gripper painting:
– JNLP example added on site
Now you can simply run WebLookAndFeel demo through the JNLP starter!
– WebLookAndFeel exampler massivly improved
I have refactored demo application once more to remove all unnecessary trash and add some lost examples.
In next update i am going to add example sources right into the demo.
– All additional library licenses are now presented in “licenses” folder in each distribution
You can now find licenses of all side libraries in the “licenses” folder inside any distribution.
– Code comments are in pure English now
Yes, i have finally removed all Russian comments and also improved some of them while translating to English.
I guess that’s mostly all about visible changes.
I have also improved the library structure a lot, but there is no point to describe that (at least so far) – there will be more changes.
As usual – stay tuned for more updates next month and thanks for coming!