# Substance **Repository Path**: mirrors/Substance ## Basic Information - **Project Name**: Substance - **Description**: Substance Java look & feel的目标是提供一个可配置的、易定制的支持Swing应用系统开发的高持量的Java外观软件库 - **Primary Language**: Java - **License**: BSD-3-Clause - **Default Branch**: sunshine - **Homepage**: https://www.oschina.net/p/substance - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 3 - **Created**: 2021-05-24 - **Last Updated**: 2025-10-25 ## Categories & Tags **Categories**: desktop-ui **Tags**: None ## README # Radiance libraries **Radiance** is a collection of libraries for writing modern, elegant and fast Swing applications based on the [Ephemeral](https://github.com/kirill-grouchnikov/ephemeral) design system. It is built with Java 11, and runs on Java 9 and later.
## Core Kotlin libraries
* [Core Swing extensions](docs/kotlin-ext/swing/swing.md) is a set of Kotlin extensions that expose selected core Swing APIs for idiomatic Kotlin usage.
* [Animation extensions](docs/kotlin-ext/animation/animation-ktx.md) exposes a subset of the API surface of Animation as a concise, focused and approachable Kotlin domain-specific language (DSL). It also provides a number of Kotlin extensions for Animation APIs.
* [Theming extensions](docs/kotlin-ext/theming/theming-ktx.md) is a set of Kotlin extensions that provide a more elegant way of working with scoped Radiance theming APIs.
* [Component extensions](docs/kotlin-ext/component/component-ktx.md) exposes a subset of the API surface of Components as a concise, focused and approachable Kotlin domain-specific language (DSL). It also provides a number of Kotlin extensions for Components APIs.
## Tools
* [Laf Benchmark](docs/tools/laf-benchmark/laf-benchmark.md) provides tools for Swing look-and-feel developers to measure the performance of their libraries.
* [Theming Debugger](docs/tools/theming-debugger/theming-debugger.md) is a visual runtime debugger for Radiance look-and-feel.
* [Screenshot](docs/tools/screenshot/screenshot.md) has utilities for taking screenshots for Radiance documentation.
* [Shaper Editor](docs/tools/shape-editor/shape-editor.md) can be used creating and editing files that define custom button shapers.
* [SVG Transcoder](docs/tools/svg-transcoder/svg-transcoder.md) enables usage of vector-based icons in Swing applications. SVG content is transcoded offline to Java / Kotlin classes that use pure Java2D canvas operations that do not require expensive runtime overhead of third-party dependencies.
* [SVG Transcoder Plugin](docs/tools/svg-transcoder/svg-transcoder-gradle-plugin.md) is a Gradle plugin that wraps the SVG Transcoder library to allow build-time transcoding of SVG content into Java / Kotlin classes.
## Demos
[This document](docs/demos.md) lists all major demos and samples that showcase how to use various Radiance APIs.
## Radiance artifacts
Radiance artifacts are available in the Maven Central repository under `groupId=org.pushing-pixels`
### Core artifacts
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-common/8.0.0)
`radiance-common` for [Common](docs/common/common.md)
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-animation/8.0.0) `radiance-animation` for [Animation](docs/animation/animation.md)
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-theming/8.0.0) `radiance-theming` for [Theming](docs/theming/overview.md)
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-component/8.0.0) `radiance-component` for [Component](docs/component/overview.md)
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-theming-extras/8.0.0) `radiance-theming-extras` for [Theming extras](docs/theming/extras.md)
### Kotlin extension artifacts
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-swing-ktx/8.0.0) `radiance-swing-ktx` for [Swing Kotlin extensions](docs/kotlin-ext/swing/swing.md)
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-animation-ktx/8.0.0) `radiance-animation-ktx` for [Animation Kotlin extensions](docs/kotlin-ext/animation/animation-ktx.md)
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-theming-ktx/8.0.0) `radiance-theming-ktx` for [Theming Kotlin extensions](docs/kotlin-ext/theming/theming-ktx.md)
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-component-ktx/8.0.0) `radiance-component-ktx` for [Component Kotlin extensions](docs/kotlin-ext/component/component-ktx.md)
### Tools artifacts
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-svg-transcoder/8.0.0) `radiance-svg-transcoder` for [SVG transcoder](docs/tools/svg-transcoder/svg-transcoder.md)
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-svg-transcoder-gradle-plugin/8.0.0) `radiance-svg-transcoder-gradle-plugin` for [SVG transcoder Gradle plugin](docs/tools/svg-transcoder/svg-transcoder-gradle-plugin.md)
* [](https://central.sonatype.com/artifact/org.pushing-pixels/radiance-theming-debugger/8.0.0) `radiance-theming-debugger` for [Theming debugger](docs/tools/theming-debugger/theming-debugger.md)
### Snapshots
Radiance snapshot artifacts [are available in the Maven Central snapshot repository](https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/org/pushing-pixels/) using the `https://central.sonatype.com/repository/maven-snapshots/` URL.
## Building Radiance
[This document](docs/building.md) is an overview of how to build Radiance artifacts locally.