Fake WSAD is a dumb user-interface clone of IBM's WebSphere Studio Application Developer. As a dumb interface, Fake WSAD is not intended as a functional clone of IBM WSAD, but as an experiment whose purpose is to explore the capabilities of Swing for creating high-quality user interfaces. Java Swing has a somewhat bad reputation as the framework of choice for unattractive, sluggish, and all around generally kludgy desktop user interfaces. In recent years, Karsten Lentzsch has put out a user-interface demonstration application named Metamorphosis, which uses a dumb-interface called Fake Eclipse to to highlight the common mistakes made in Swing UI design and what steps may be taken to remedy these issues. Fake WSAD's purpose is to move beyond the UI design aspects into specific implementation details.

   As progress is made on Fake WSAD, aspects of its implementation will be reviewed and source code will be published to provide working examples that detail possible Swing design approaches. Specific features may be broken down into subprojects that have their own identity.
 Windows
 Metal
At present, Fake WSAD may be launched as an applet from this page to demonstrate its progress thus far and to give a general idea as to the UI characteristics that comprise it. Fake WSAD currently supports both Windows and Metal PLAFs. Although alternate PLAFs are not strictly prohibited, the visual effects used to match the SWT version of WSAD are accomplished with custom UI Delegates whose behavior at times may conflict with a non-Windows or Metal PLAF (such as View Maximization under Motif). Hopefully, more PLAFs will be supported as development continues.
Shadow
Rollovers
Tabbed UI
View Panels
Overview
Outlines
Colors
Source Code
   One of the more striking features inherent to Eclipse that contributes to its professional, polished look are the drop-shadowed borders placed around each of the split-pane components. This gives off a slight three-dimensional look that, unlike other heavy compound borders, doesn't detract from the overall appearance of the application. Instead, it gives off the impression of each docked view as floating slightly above the default plane within the Z-axis (with a 3-pixel X and Y offset).

   Borders are one of the easier custom pieces to create in Swing and so, while one of the more novel visual effects we'll create, this is also one of the easiest. The first thing we want to do is take a screenshot and enlarge the image, as shown in this example, so we're able to get a good look at how the effet is accomplished. What we find here is effectively a 3-pixel gradient between the background color of the underlying component and some darker color. So we can tell immediately that we'll essentially be writing a class that is going to draw a series of lines in three different colors.

   What we'll do here is break things down into two stages; drawing the border lines and choosing our colors.