James Williams
LinkedInMastodonGithub

Swing and Thinlet compared

Tags: Java

This post was inspired by a post on Dzone about Java GUI toolkits. I decided to look at a couple of them: Swing and Thinlet. Swing and Thinlet represent two different ends of the Java user interface spectrum each with its own peculiarities and reasons for use and disuse.

Swing

Pros:

  • Good tool support
  • Lots of documentation
  • Lots of mindshare
  • Good extensibilty of base components
  • Continuous development
  • Nimbus Look and Feel

Cons:

  • Not the most simple or straightforward to code
  • Can require many dependencies if using components outside core(SwingLabs)
  • Metal Look and Feel and the fact that it was the default giving Swing the black eye of being ugly
  • The cutting edge features require Java 6

Thinlet

Pros:

  • Very lightweight, small jar(38KB)
  • Doesn't need Swing or AWT
  • XML UI descriptor
  • Development seems to be stagnant
  • Lower requirement to run (needs Java 1.1 or higher)

Cons:

  • XML UI descriptor
  • Small amount of built-in components
  • Few examples and tutorials
  • Development seems to be stagnant

For some that I know that shall remain nameless, the use of a XML UI descriptor is treason and reason to run for the hills away from a tool doing so. To that I say, it all depends on the problem. For a very dull "entreprise" app, it might be just what the doctor order. However, trying to code something like Aerith would probably be painful.

Thinlet

SwingLabs - Next Gen Swing Components

Four toolkits for Java to develop excellent GUIs