swingLabs was
a
Sun
The Sun is the star at the center of the Solar System. It is a nearly perfect ball of hot plasma, heated to incandescence by nuclear fusion reactions in its core. The Sun radiates this energy mainly as light, ultraviolet, and infrared rad ...
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
project proposing extensions to the
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
Swing
Swing or swinging may refer to:
Apparatus
* Swing (seat), a hanging seat that swings back and forth
* Pendulum, an object that swings
* Russian swing, a swing-like circus apparatus
* Sex swing, a type of harness for sexual intercourse
* Swing rid ...
GUI toolkit
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
. Available components included:
* Sorting, filtering, highlighting for tables, trees, and lists
* Find/search
*
Auto-completion
Autocomplete, or word completion, is a feature in which an application predicts the rest of a word a user is typing. In Android and iOS smartphones, this is called predictive text. In graphical user interfaces, users can typically press the tab ...
* Login/authentication framework
* TreeTable component
* Collapsible panel component
* Date picker component
* Tip of the day component
The aim of the project was to experiment new or enhanced GUI functionalities that are required by
Rich client
In computer networking, a rich client (also called heavy, fat or thick client) is a computer (a "client" in client–server network architecture) that typically provides rich functionality independent of the central server. This kind of computer ...
applications. It acted as a testbed for ideas related to client side technologies.
Integration into Java API
Some successful project components were eventually incorporated into the core
Swing
Swing or swinging may refer to:
Apparatus
* Swing (seat), a hanging seat that swings back and forth
* Pendulum, an object that swings
* Russian swing, a swing-like circus apparatus
* Sex swing, a type of harness for sexual intercourse
* Swing rid ...
toolkit for future Java versions, although
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
compatibility was not guaranteed. Examples of these are:
*The GroupLayout manager in
Java SE 6
The Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Communit ...
.
[GroupLayout was initially developed in conjunction with Matisse, the GUI builder of ]NetBeans
NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java ...
.
*Incorporation of the SystemTray in Java SE 6.
*The new Desktop class in Java SE 6, which allows to launch easily associated applications registered on the native desktop, as for example : launching the user-default browser, launching the user-default mail client, launching a registered application to open, edit or print a specified file.
Sub-projects
The swingLabs project was divided into several sub-projects. For example:
*swingX: Provides extensions to the
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
Swing
Swing or swinging may refer to:
Apparatus
* Swing (seat), a hanging seat that swings back and forth
* Pendulum, an object that swings
* Russian swing, a swing-like circus apparatus
* Sex swing, a type of harness for sexual intercourse
* Swing rid ...
GUI toolkit
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
.
*JDIC (JDesktop Integration Components): Aims to provide Java applications with seamless desktop integration without sacrificing platform independence.
*nimbus: A
Look and feel
In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, box ...
using
synth
A synthesizer (also spelled synthesiser) is an electronic musical instrument that generates audio signals. Synthesizers typically create sounds by generating waveforms through methods including subtractive synthesis, additive synthesis an ...
.
*swingLayout: Was the home of the GroupLayout manager before its inclusion in
Java SE 6
The Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Communit ...
.
*JDNC: Contained components to simplify the development of Swing-based
rich client
In computer networking, a rich client (also called heavy, fat or thick client) is a computer (a "client" in client–server network architecture) that typically provides rich functionality independent of the central server. This kind of computer ...
Java applications. This project has been replaced by the
Swing Application Framework (JSR 296).
*scenegraph: A library providing 2D
Scene graph
Scene (from Greek σκηνή ''skēnḗ'') may refer to:
Arts, entertainment, and media Music
*Scene (subculture), a youth subculture from the early 2000s characterized by a distinct music and style. Groups and performers
* The Scene who recor ...
functionality to
Java 2D, including Swing widgets. This library is used internally by the
JavaFX Script language.
*PDFRenderer: A
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
viewing library written in pure Java.
Project status
During the sunsetting of
java.net
java.net was a Java technology related community website. It also offered a web-based source code repository for Java projects. It was shut down in April 2017.
History
java.net was announced by Sun Microsystems during JavaOne 2003.
In Januar ...
in 2017,
the public repository for SwingLabs was deleted, effectively terminating the SwingLabs project.
Several repositories containing snapshots of the final development version of SwingLabs (1.6.6-SNAPSHOT) do exist, however:
* https://github.com/arotenberg/swingx
* https://github.com/ebourg/swingx
* https://github.com/RockManJoe64/swingx
* https://github.com/wumpz/swingx
See also
*
SwingWorker
SwingWorker is a popular utility class developed by Sun Microsystems for the Swing library of the Java programming language. SwingWorker enables proper use of the event dispatching thread. As of Java 6, SwingWorker is included in the JRE.
Seve ...
*
JavaFX
JavaFX is a software platform for creating and delivering desktop applications, as well as rich web applications that can run across a wide variety of devices. JavaFX has support for desktop computers and web browsers on Microsoft Windows, L ...
References
{{Java desktop
Java (programming language)
Java (programming language) libraries
Java APIs