Bring the Web Interface to Swing

I have been fighting with using Swing to create user interfaces for while now.  The advantage with Swing is that it comes with Java and you don’t have to install any additional tools or jars to work with it.  The disadvantage is that you have to code everything manually.  I haven’t found a easy interface for designing GUI’s with Swing.

Since I have done a lot of work with HTML and web development, I thought it might be worth looking at building an HTML front end enveloped by Swing windows.  The only problem is that to make the interface work, I need Javascript.

The LOBO Project looks like my best bet here from my searches so far.  I found it from this Stack Overflow Thread.  It is a pure Java browser.  So, I am thinking that I can embed it in my projects and make that the front-end.

The same thread mentioned using something contained in JDIC.  I think I have used that for notification icons already, so that might be something worth looking into.  I found two other projects: Swingx-WS and WebSwing, but both of those don’t look as promising.

Then, I found Kyle Cordes’ post on using Rhino with Swing.  His code is available, so I need to check it out: Git Hub.

To step back a little, what I really want is a better alternative for creating GUIs.  I found a cool article, that had some other options.  I thought it was interesting that they mentioned having HTML as the front end.  The Visual Editor in Eclipse sounded like something else to check out.  I am going to have explore these instructions for installing more and this tutorial for including custom components.  Other open source options are FormLayoutMaker, Java Object Face, and the Atris Framework.

Another option that is worth looking into is a Chrome Web App.  I found a nice little guide for creating one, or you can read Google’s documentation.  My issue with that is that I need additional access that I don’t think Chrome will give me.

Please comment if you have any ideas.

Leave a Comment

Your email address will not be published. Required fields are marked *