Radiance 6.5.0

December 1st, 2022

It gives me great pleasure to announce the next major release of Radiance. Let’s get to what’s been fixed, and what’s been added. First, I’m going to use emojis to mark different parts of it like this:

💔 marks an incompatible API / binary change
🎁 marks new features
🔧 marks bug fixes and general improvements


  • 🎁 Add tri-state checkbox component
  • 🎁 Add switch component
  • 🎁 Migrate previously internal circular progress component to public API
  • 🎁💔 Revisit layout configuration of command button panels. Support fixed-column and adaptive layout spec for row fill and column fill panels.
  • 🎁 Support configurable content padding in command buttons and command button panels
  • 🎁 Add more presentation model options for command button panels
  • 🎁 Add presentation model for rich tooltips
  • 🔧 Fix crash on displaying rich tooltips under Java 17+
  • 🔧 Fix text wrap logic in command buttons under big presentation state
  • 🔧 Fix vertical positioning of command button content under tile presentation state
  • 🔧 Fix issues with command popup menus not closing in certain scenarios


  • 🎁💔 Revisit configuration of popup content. Full documentation here.
  • 🎁💔 Unify fill and highlight painters.
  • 🎁💔 Revisit how specular fill painter is configured.
  • 🔧 Fix crash in specular fill painter
  • 🔧 Fix crash in table UI delegate
  • 🔧 Fix crash in opening the window title pane menu
  • 🔧 Fix crash in update font of a tree component
  • 🔧 Fix incorrect offset of vertical scrollbars during scrolling

Kotlin extensions

  • 🎁 Add indexed access operator overload for ResourceBundle.getString

I’ve wanted to get this release out a bit earlier than anticipated to cover the functionality gaps between Radiance and Aurora, and to address some crasher bugs that snuck into the last major rewrite of Radiance’s rendering pipeline. With this release out of the door, the roadmap for 2023 remains as planned:

  • Add the ribbon / command bar component to Aurora
  • Revisit the way colors are defined and used in both Radiance and Aurora

There’s still a long road ahead to continue exploring the ever-fascinating depths of what it takes to write elegant and high-performing desktop applications in Swing. If you’re in the business of writing just such apps, I’d love for you to take this Radiance release for a spin. Click here to get the instructions on how to add Radiance to your builds. And don’t forget that all of the modules require Java 9 to build and run.