/radiance

Building modern, elegant and fast Swing applications

Primary LanguageJavaBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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

Kotlin extension artifacts

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.