Radiance is a collection of libraries for writing modern, elegant and fast Swing applications. It is built with Java 9, and runs on Java 9 and later.
This document is where you may find answers to some of the general questions on Radiance. If there's anything missing there, let me know.
Neon provides APIs to work with images and text that scale with the display resolution. Neon icons scale to maintain crisp, pixel-perfect visuals for application icons. Font APIs can be used to render platform-consistent textual content across a variety of supported platforms.
Photon enables usage of vector-based icons in Swing applications. SVG content can be either loaded asynchronously at runtime from a variety of local and remote sources, or transcoded offline to Java / Kotlin classes that use pure Java2D canvas operations that do not require expensive runtime overhead of third-party dependencies.
Trident provides powerful and flexible animation APIs that scale from simple, single-property cases to complex scenarios that involve multiple animations. Trident powers all animations in the Radiance libraries.
Substance provides a comprehensive set of APIs for skinning Swing applications, addressing the most demanding, modern design requirements. It comes with built-in support for all core Swing components, and a flexible API surface for rendering third-party / application components.
Flamingo provides a robust set of additional Swing components that can be used as building blocks for creating modern, rich Swing applications. In addition to providing the powerful command button and breadcrumb bar components, Flamingo packs an Office Command Bar (ribbon) container that can host a complex hierarchy of flexible, scalable application control surface.
Meteor is a set of Kotlin extensions that expose selected core Swing APIs for idiomatic Kotlin usage.
Ember is a set of Kotlin extensions that provide a more elegant way of working with scoped Substance APIs.
Plasma exposes the entire API surface of Flamingo as a concise, focused and approachable Kotlin domain-specific language (DSL). It also provides a number of Kotlin extensions for Flamingo APIs.
Torch exposes a subset of the API surface of Trident as a concise, focused and approachable Kotlin domain-specific language (DSL). It also provides a number of Kotlin extensions for Trident APIs.
-
Apollo is a tool for creating and editing color scheme lists.
-
Beacon is a visual runtime debugger for Substance.
-
Electra simplifies the process of adding callout bubbles to documentation screenshots.
-
Hyperion can be used creating and editing files that define custom button shapers.
-
Ignite is a Gradle plugin that wraps the Photon library to allow build-time transcoding of SVG content into Java / Kotlin classes.
-
Lightbeam provides tools for Swing look-and-feel developers to measure the performance of their libraries.
-
Zodiac has utilities for taking screenshots for Substance and Flamingo documentation.
This document lists all major demos and samples that showcase how to use various Radiance APIs.
Radiance artifacts are available in the central Maven repository under groupId=org.pushing-pixels
-
radiance-neon
for Neon -
radiance-photon
for Photon -
radiance-trident
for Trident -
radiance-substance
for Substance -
radiance-flamingo
for Flamingo -
radiance-substance-extras
for Substance extras
-
radiance-ember
for Ember -
radiance-meteor
for Meteor -
radiance-plasma
for Plasma -
radiance-torch
for Torch
Radiance snapshot artifacts are available in the Sonatype repository.
This document is an overview of how to build Radiance artifacts locally.