Some days ago I was contacted by Kirill Grouchnikov, author of the “Substance Look And Feel”. He told me about “Laf-Plugin” and asked whether I would integrate it into Squareness Look And Feel.
Laf-Plugin is a simple plugin API targeted specifically at Swing Look And Feels. L&F authors can define plugin categories and load plugins defined for those categories. Laf-Plugin comes with a predefined plugin category – component plugins.
As Swing comes of age more and more third party components and component libraries become available. At the same time more and more pluggable look and feels become available. Laf-Plugin provides a consistent way of defining the look and feel for such components in the context of a specific look and feel. The look and feel dynamically finds the plugins available for it and loads the additional ui delegates defined in them. When a third party component is used the ui delegate from the matching plugin is used and the component fits seamlessly into the look and feel of the containing application.
I think Laf-Plugin is a very good idea. It’s simple and lightweight and does its job. I have integrated Laf-Plugin into Squareness and am currently developing a plugin for “Ribbon” to make sure my integration works correctly before releasing it.
I hope more look and feels will join this effort and I hope that component developers will also support it. Component developers need to provide ui class id for each component to make this work.