I've built things with javax.swing before in this nature, but I found that it's laggy and doesn't work quite well. I've decided that I may want to switch to cocoa, but as a bittersweet goodbye, I wanted to do something weird with javax.swing that went beyond my previous uses of it.
What it does
You play an Asteroids-like game where you destroy a window.
How I built it
I used (abused?) javax.swing's irregular windows feature by using undecorated windows with irregular shapes and drawing to them.
Challenges I ran into
Getting the shapes of the irregular windows to actually work was surprisingly difficult. Javax.swing also lags quite a bit with more and more windows, which is understandable.
Accomplishments that I'm proud of
I'm just glad that I got all of this to work! Especially the illusion of the window breaking apart by using a BufferedImage of the task bar at the top of the window.
What I learned
I learned how to use BufferedImages to make it look like a window was falling apart.
What's next for A Final Goodbye To javax.swing
If there was anything next, it would be to put some pretty pictures in the breaking window. Actually, a friend also recommended having a game of asteroids in that window, which gets harder as the window breaks apart, so maybe that too?