Less than one year to go until it celebrates its 20th anniversary, it’s time for the next release of Radiance. It’s a minor one, focusing on stability and bug fixes. 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
Component
- 💔 Revisit circular progress indicators
- 💔 Do not force BIG_FIT_TO_ICON presentation state for command buttons configured with custom icon dimension
- 🔧 Fix visuals of disabled command buttons under rollover state and
never
background appearance strategy
- 🔧 Fix inconsistent font metrics of label texts during printing
- 🔧 Fix crash on computing the resize sequence of flow ribbon bands with 2 components
- 🔧 Fix ribbon band content disappearing after a certain combination of user interactions with the ribbon on Windows OS
Theming
Radiance focuses on helping you make 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.
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
Component
Theming
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.
It’s been a busy year for my desktop-focused projects, and things are look bright going into 2023. Here’s the rough outline of what I’m planning to work on.
The first big chunk of work that will probably take at least another two or three months to complete is going to be bringing the full ribbon component to Aurora. This has started a few weeks ago, and I’m done with the first pass of prototyping the ribbon APIs. Those are not final yet, and they will get tweaked as I get to the implementation details of the many moving pieces underlying this component.
The second big chunk is going to be around defining and using colors. Code-named Chroma, this effort aims to bring more clarity and control over working with colors in core and custom skins, inspired by the ongoing evolution of design systems such as Material and others. Falling under the overall umbrella of the Ephemeral design system, the plan is to introduce it to both Aurora and Radiance, and replace the existing color scheme and their mappings.
And last but most definitely not the least, are the plans to explore the third twin to Radiance and Aurora, and bring the full breadth of Ephemeral, including its theming layer and all the components, to the world of Flutter. Much as Aurora, this is going to be a multi-year project.
Happy New Year and stay tuned for more details!
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
Component
- 🎁 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
Theming
- 🎁💔 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.