Radiance libraries
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.
General questions
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.
Core Java libraries
Neon
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
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
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
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
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.
Core Kotlin libraries
Meteor
Meteor is a set of Kotlin extensions that expose selected core Swing APIs for idiomatic Kotlin usage.
Ember
Ember is a set of Kotlin extensions that provide a more elegant way of working with scoped Substance APIs.
Plasma
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
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.
Tools
-
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.
Demos
This document lists all major demos and samples that showcase how to use various Radiance APIs.
Radiance artifacts
Radiance artifacts are available in the central Maven repository under groupId=org.pushing-pixels
Core artifacts
-
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
Kotlin extension artifacts
-
radiance-ember
for Ember -
radiance-meteor
for Meteor -
radiance-plasma
for Plasma -
radiance-torch
for Torch
Tools artifacts
Snapshots
Radiance snapshot artifacts are available in the Sonatype repository.
Building Radiance
This document is an overview of how to build Radiance artifacts locally.