Java Application Aesthetics

| No Comments | No TrackBacks

I am currently working on a large-scale Java project as the User Interface Programmer in charge of the graphical user interface. In Java, the layout and aesthetics of an application is known as look-and-feel (LAF). I have had some time on my hands so instead of using the standard Java LAF, I have decided to create my own custom LAF based on the client's branding.

 

A few developers (including those at Sun) have developed new LAFs for users who want to get away from the default Java LAF. Two of these popular LAFs are known as 'Metal' and 'Ocean', and there are other ones based on the Windows or Mac operating system LAF. For what I had in mind, these LAFs are not much better than the default Java LAF and could not be tweaked to create the LAF that I wanted to use. In order to get a unique non-Java-looking application, I would need to create my own custom LAF.

 

In my search to find a relevant LAF to use, I came across a new framework which allows developers to create their own LAFs. This custom look-and-feel framework in Java is known as Synth, and code for the framework is written to load an XML file defining the styles (and images) for each defined element (JButton, JLabel, JFrame, etc). Essentially, the Synth framework acts as a skin for the existing Java Swing interface.

 

Although the Synth LAF framework seems to be a useful way to create a custom LAF, there is a lack of detailed documentation and examples to get started. I also think that in order to create a custom LAF using Synth, the developer must also have graphic design skills. Perhaps it is for this reason that few examples of LAFs created with Synth exist.

 

Although there is a lack of examples and documentation on the subject, I plan to continue learning about Synth to see how far I get with my custom LAF. If it all fails and there are too many bugs to finish before the project officially kicks off, then I will simply go back to using the default LAF or one of the other popular ones.

Related Entries

No TrackBacks

TrackBack URL: http://jenikya.com/cgi-bin/mt5/mt-tb.cgi/2

Leave a comment

Archives

OpenID accepted here Learn more about OpenID