While working for a project, I came to know about Standard widgets toolkit.
The requirement was to develop a java stand alone application, that can understand drag/drop from Lotus Notes. After analysing Swing and SWT a lot, SWT was chosen as the right candidate.
SWT is the software component that delivers native widget functionality in an operating system independent manner. It is analogous to AWT/Swing in Java with a difference – SWT uses a rich set of native widgets.
SWT is an open source technology built with the Eclipse framework.
http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html
Every SWT application requires a Display and one or more Shells. The Shell is a composite object; it can contain other composite objects. If the layout of the shell is not set, widgets added to the Shell won’t be visible. The Shell window must be opened to be displayed. The event handling loop reads and dispatches GUI events. If there is no event handling loop, the application window cannot be shown, even if the Shell window is opened by the open() method. Afterwards, you should dispose of the Display, when the Shell is discarded.
Building SWT applications can be made easy using the SWT designer. Placing the UI components like labels, buttons, text boxes etc., will be a hectic task without a designer tool.
SWT Designer provided by instantiations served the purpose.
They also provide another tool – WindowTester, a JUnit compatible eclipse pluggin for unit testing the SWT applications.