Jump to content

SwingLabs

From Alfawiki
swingLabs
Company typeOpen source initiative
IndustrySoftware development
FounderSun Microsystems
Defunct2017
FateProject discontinued after java.net closure
Area served
Worldwide
ProductsExtensions for Java Swing toolkit, including GroupLayout, SystemTray support, Desktop class, swingX components, JDIC, nimbus Look and Feel, swingLayout, JDNC, scenegraph, PDFRenderer
ParentSun Microsystems

swingLabs was an open-source initiative created by Sun Microsystems that extended the capabilities of the Java Swing graphical user interface toolkit. Its offerings encompassed features such as:

  • Enhanced sorting, filtering, and highlighting for lists, tables, and trees
  • Search and find utilities
  • Auto-completion mechanisms
  • Framework for login and authentication
  • TreeTable UI component
  • Panels with collapsible functionality
  • Date selection widget
  • Daily tip display feature

The project’s purpose was to explore innovative or improved GUI functionalities required by Rich client applications, acting as a platform to trial advancements in client-side technologies.

Integration into Java API

Over time, multiple components from swingLabs were incorporated into the official Swing toolkit in subsequent Java releases, although API compatibility was not always guaranteed. Key contributions included:

  • The GroupLayout layout manager introduced in Java SE 6, originally created in conjunction with Matisse, the GUI builder for NetBeans
  • Support for SystemTray functionality added in Java SE 6
  • The Desktop class, also part of Java SE 6, which facilitates launching native desktop applications such as web browsers and email clients

Sub-projects

swingLabs consisted of various sub-projects focused on different elements of Java desktop development:

  • swingX: Provided additional components extending the Swing GUI toolkit
  • JDIC (JDesktop Integration Components): Enabled smooth desktop integration while preserving cross-platform compatibility
  • nimbus: A Look and Feel theme based on Synth technology
  • swingLayout: Hosted the GroupLayout manager prior to its adoption in Java SE 6
  • JDNC: Supplied tools to simplify rich client development with Swing; later superseded by the Swing Application Framework (JSR 296)
  • scenegraph: Delivered 2D scene graph capabilities for Java 2D and Swing widgets; internally utilized by JavaFX Script
  • PDFRenderer: A pure Java library designed for rendering PDF documents

Project status

Following the closure of java.net in 2017, which served as the public hosting platform for SwingLabs, the project’s repository was removed, marking its official discontinuation. Nonetheless, various other repositories continue to maintain snapshots of the last development release (1.6.6-SNAPSHOT), ensuring its availability for future reference and use.

See also

References