Standard Widget Toolkit

The Standard Widget Toolkit ( SWT) is a library for creating graphical user interfaces with Java.

SWT

SWT was developed by IBM for the Eclipse development environment in 2001 and is continuously maintained. SWT makes use of in contrast to the native Swing graphical elements of the operating system - such as the AWT Sun - and thus allows for the creation of programs that have an appearance similar to "native" programs.

However, SWT suffering on some non-Windows platforms efficiency problems, since it requires many features of a Basistoolkits which - have to be emulated (eg Z-order on GTK ) - if not available. In addition, the SWT libraries are not available by default on the system running and must be supplied with the application while Swing is part of the Java runtime environment (Java Runtime Environment, JRE).

In SWT native widgets are integrated through thin wrapper instead outsource some of the functionality in native peer classes. Because of the use of these resources are the SWT elements called " heavyweight ", as opposed to the " lightweight " components of the swing technique that makes all the graphic elements themselves.

SWT comes in a variety of applications, such as Eclipse itself, Vuze and RSSOwl.

Speed

SWT was developed as a more responsive and more compact competition with Swing. However, performance comparisons show that SWT is not faster than Swing and the results strongly depend on the context and the test environment.

JFace

The UI Toolkit JFace sets out the basic components supplied by SWT together more complex widgets and provides an abstraction layer (viewer) to access the components ready. JFace facilitates the development of desktop applications on the SWT - base considerably. The most important classes of JFace are:

  • Viewer for connection of GUI elements to the data model
  • Actions for decoupling of GUI events and the action to take
  • Image and font registries for managing image and font resources
  • More complex GUI elements like wizards and dialogs

There are now at JFace some dependencies to Eclipse libraries, so that in addition SWT also some JAR files must be installed from the Eclipse project. Eclipse is probably the most well-known application that uses JFace.

Available systems and architectures

  • AIX ( PPC / Motif)
  • FreeBSD ( x86/GTK 2)
  • FreeBSD ( AMD64/GTK 2)
  • HP- UX (HP 9000/Motif )
  • Linux ( x86/GTK 2)
  • Linux ( AMD64/GTK 2)
  • Linux ( PPC / GTK 2)
  • Linux ( x86/Motif )
  • Mac OS X ( PPC / Carbon)
  • Mac OS X ( x86/Carbon )
  • Mac OS X (x86 64/Carbon )
  • Mac OS X ( x86/Cocoa1 )
  • Mac OS X (x86 64/Cocoa1 )
  • QNX ( x86/Photon )
  • Solaris 8 ( SPARC / GTK 2)
  • Solaris 8 ( SPARC / Motif)
  • Windows ( x86/Win32 )
  • Microsoft Windows CE ( PocketPC ARM )
  • Microsoft Windows CE (ARM PocketPC, J2ME profile )

1 Since SWT 3.5. Apparently only available for x86 and x86_64, but not for PowerPC.

437568
de