Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
20 lines (14 sloc) 1.67 KB

Lumen - animation blueprints for Swing

Lumen aims to provide blueprints for adding animation to Swing applications using the Trident animation engine. Lumen is a Swing application that connects to MusicBrainz and Amazon, and shows a list of albums for a specific performer. It is a pure Swing / Java2D application with the following dependencies:

  • Trident for animations
  • Neon for consistent text appearance and correct high-DPI rendering
  • Retrofit for fetching information from MusicBrainz without manual handling of endpoints and JSON parsing

Lucent is a port of Lumen to Kotlin.

Deeper dives

  • Part 1 - window structure and simple animations such as component appearance (fade in), rollovers and window disposal (fade-out) using built in and custom class attributes and setters.
  • Part 2 - visuals of the main window.
  • Part 3 - animated load progress indication while the application is loading data.
  • Part 4 - loading the album art matching the specific search string and asynchronously displaying the associated images.
  • Part 5 - scrolling the album covers showed in the container and adding animations to the scrolling.
  • Part 6 - complex transition scenarios.
You can’t perform that action at this time.