Plugable Swing – A Hello World OSGi Example
There are a lot of OSGi applications available, but a minority of them is aimed at the client side. Here I will list some on Swing:
Today I tried the same and had luck. It was very fast (~1h) to get all working what I wanted, because I shamelessly stole the code from the example of Apache Felix. It is even more easier than this example but should have the same effect: it shows how one could use OSGi even for a Swing application.
There is a host application called Swing On OSGi – Host with one JMenu which does not change (static) and one (dynamic) JMenu which could be changed from the available plugins (here only one: Swing On OSGi – PluginTest). The source code (Apache License 2) can be checkout via
svn checkout https://timefinder.svn.sourceforge.net/svnroot/timefinder/branches/swingosgi swingosgi
… you will need maven. After ‘mvn install’ for both projects you will only need to start the host application via your IDE or via
java -jar target/host-1.0.0.jar
Then if you see the “dynamic menu” with one menu entry (which was added from the plugin) all is fine:
If you have problems while building this send me an email or comment here.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)