web analytics

PluginManager

 

For those who might be interested in PluginManager feature from WebLaF core – its tutorial is now available in WebLaF Wiki on GitHub.

PluginManager is a large feature that was added into WebLaF library core with v1.28 update. It provides a simple and convenient way to load, store and use plugins within your application. It also handles lots of possible load problems and provides tools to filter out unwanted plugins and a lot more…

There are also some other tutorials there which you may find useful.
Follow this link to see the full list: https://github.com/mgarin/weblaf/wiki

Swing tips – issue #1

 

With a small delay, but as promised – I am starting a new series of posts about various Java and Swing tips & tricks that might help you understand it and develop awesome-looking Swing applications of any type.

Check out the first three tips under the cut.

More

News and v1.28 release

 

About news and site updates

As you might have noticed – it was a really long time since last post here, I were still releasing new library versions in background but I didn’t post here due to time constraints and since I didn’t actually find anything specific worth noticing. I have taken all that time to think about structuring information on the site better and improving the library itself. So today’s post will bring a few important news and v1.28 release notes.

If you were tracking GitHub updates you might have already seen some of this post parts in the README file on the home WebLaF page on GitHub, but this post contains some extended comments and notes, so make sure you don’t miss anything!

Let’s now continue to the interesting part…

More

Changes reason

 

…or “why you like some specific components that much?”

Some of you might have noticed that some specific components/classes (for example WebTree) and usually everything that is connected to it are getting much more improvements and fixes than other components. Some components sometimes might not get any updates at all. So i want to give a brief explanation to that.

Basically, like any other developer i want to have ideal code in WebLaF and i want to do a lot of refactoring all the time. But library will not advance and become better if i will stuck in just refactoring. So i simply do some massive refactoring, JavaDoc additions and improvements to specific group of components from time to time. That allows me to cleanup that group’s code, add all required features and make all necessary improvements at once so i won’t need to change that code ten times. In advance that makes things faster and allows me to deploy more fixes and improvements.

And these are the reasons (sorted by priority) why i would choose some specific group:

  1. It is used by some important components or by a lot of components
  2. It code is outdated and has a lot of bugs and/or causing a lot of problems
  3. It is tightly linked with another group of components that was recently refactored/updated
  4. Simply because it is not yet refactored/updated

There might also be some other reasons to refactor/update some code.
For example someone requested specific changes or i simply bumped into some really ugly/non-optimized code.

Anyway, i am always open for suggestions (including the ideas about specific code parts), feel free to post/ask anything :)

Changes in this year…

 

Recent news

A lot of time passed since the last post here, so i will tell about all of them right now.

But before that i want to say thanks to everyone who helped me to improve WebLaF project and push it toward the right direction!  Was it a small feedback on some specific component, feature requests or bug reports, some interesting new ideas, translations or something else – i really appreciate all the help i got from you guys. Thanks again!

And i am looking forward to get even more feedback on this project as soon as it moves to the next stable stage and will get more awesome stuff included! ;)

Anyway, let’s leave the lyrics and move on…

GitHub and project changes

I spent a lot of time to improve project this year and i have tried a lot of tools.
There will be more changes coming but i am really satisfied with the work done.

Thanks to GitHub everyone can implement some custom feature into WebLaF sources and make a pull requests so i can quickly view it and merge into the main WebLaF branch. You can read more about making pull requests in GitHub help here. So don’t hesitate to make a pull request if you really want some feature included directly in WebLaF in a short time!

GitHub also offers a good way to handle various issue requests, so i would really appreciate if you post them here - https://github.com/mgarin/weblaf/issues. WebLaF forum will be more like Q&A section, but you can still use it if you like that way of communication more.

By the way GoogleCode project is now deprecated so i recommend you to get newer project/sources version from GitHub if you were still using the one from GoogleCode SVN.

Shortly about other changes with the project:
1. I have improved ANT build and added some more build options
2. Artifacts names were changed to make them brief and understandable
3. A lot of changes done to classes structure, code style and used libraries

Now let’s move on to major changes made this year…
(you will find more information under the cut)

More

Last steps to v.1.4 release

 

A few things concerning the site and such

I rarely post updates here because it takes a lot of time to prepare any really useful information.
Its much better to spend that time on the library development instead :)

But be sure – project is alive and will be alive (unless Oracle decides to deprecate Swing but i hardly believe that will happen).

But everyone wants to hear something once in a while – that is why i added Roadmap which gets updated with almost each commit.
You can also see all the changes in the commit comments on Google Code project page – its the same as the list posted as “done” in roadmap.

Also as i said many times – feel free to contact me at anytime if you have any questions or suggestions.

About the release

Already 6 months passed since 1.3 release and i have finished most of refactorings and library overall performance improvements – now it works much smoother and the code is finally clean enough to use it without any limitations. There is still a lot to be done (well, as always) but i will move most of unimportant features into next releases and will finish with main things that have to be done to achieve a stable version.

So, here is what i want to finish until v.1.4 release:

  • Quick, clean and functional filechooser UI implementation
  • Proper colorchooser UI implementation
  • Dockable pane and Dockable frame components
  • Critical bugfixes and small useful improvements

I won’t say that these features will be added soon, but i hope to finish most part of it until the next year – so it is about 1.5-2 months.

You can still keep an eye on the changes i add into the preview library build  (or just track the SVN changes) and use it instead the old version.  The old v.1.3 version is actually deprecated and will be replaced by the new upcoming preview build, which is already much more stable and useful than the older versions.

Roadmap & build

 

Project roadmap

Since new versions takes pretty much time to finish and assemble i have decided to populate upcoming versions roadmap and keep it updated. This roadmap is much more specific than just some abstract “future plan” and it contains all of the features/bugs/improvements i am going to finish before the final version release. Roadmap might also be modified several times to include or exclude some of the changes depending on the situation. All changes marked with GREEN might be found in project sources even before the final release.

ANT build script

To make source code comfortable to use i have added ANT build script into the project which has 6 targets:

  • Build WebLookAndFeel.jar
  • Build Sources.zip
  • Build WebLookAndFeel_demo.jar
  • Build NinePatchEditor.jar
  • Run WebLookAndFeel_demo.jar
  • Run NinePatchEditor.jar

Using them you can build exactly the same libraries/packages i am uploading to this site when new version is released.

You can read an extended “how to build” description in FAQ forum topic here:
http://weblookandfeel.com/forum/viewtopic.php?f=6&t=53

Source code repository

 

I have finally moved WebLaF dev-version code to Google Code project repository, so from now on you can access the new upcoming features even before the release!

 - Here you can find the WebLaF project:
http://code.google.com/p/weblookandfeel/

- And here is the source:
http://code.google.com/p/weblookandfeel/source/browse/

- To check out the project use either this command:
svn checkout http://weblookandfeel.googlecode.com/svn/trunk/ weblookandfeel-read-only

- or this address as the SVN repository in your IDE or SVN client:
http://weblookandfeel.googlecode.com/svn/trunk/

Note that dev-version unlike the stable release versions might have some critical bugs in it.
In case you find one – you can inform me about it anytime.

 

About 1.4 version…

I am still (yeh, already a few months) working on it, but it will be released this week.
Pretty possible that 1.4 version will get a few post-updates in case some bugs will still be there

I will post full updates and new features list together with the release, don’t miss it!

Forum and v.1.4 version

 

Thanks to awesome phpBB forum engine i was able to get a working forum up pretty fast.
Now you can feel free to post any questions, suggestions or some other matter there!

Also i should say that due to some massive library improvements to create an actually stable version i have postponed next release, but it will be there.

In next version will be added full RTL support,  some more components styling, lots of fixes and speed improvements and a few other sweet features for Swing ;)

Stay tuned for updates!

WebLookAndFeel and Nine-patch

 

Library got a large bunch of updates and upgrades since last version and i today i will tell about the main one – new Nine-patch editor and styling hidden within the library. 
First of all i will tell a bit about nine-patch format for those who still don’t know anything…

Nine-patch

Nine-patch is an image format that holds some additional information inside png-format image meta-data or inside the picture itself.

Here you can see a simple example of nine-patch image (it is also set as default image in editor):

 

As you can see there are four black-colored lines on the image sides – that is additional data that nine-patch format provides.
Each line on the left and top sides presents stretchable image areas – those parts of image will be sized with the component they are used on.
Each line on the right and bottom sides presents content areas (they might also be empty) – in those parts of image component content will be placed (for example – button text and icon).

That is basically all you need to know about that format to make it useful inside you application with WebLookAndFeel library!
If you want to know more – you might find this post and official Android dev guide useful.

I will tell you about nine-patch files usage a bit later – let’s check the format editor first…

More