Project Wayfield – The JDK Wayland Desktop on Linux [video]
inside.java
inside.java
For example, the first time you open a dialog window (or the main window in the SwingSet2 demo) you can usually see the contents drawn offset by a few pixels and then later redrawn correctly. I don't see that in the demo video, so maybe they fixed it, or maybe it's hidden by the opening animation. (It might also be harder to reproduce with certain window managers – I see it every time with Xfce but only sometimes with Openbox.)
Sometimes (although rarely) you can see Swing creating a window in the wrong location on screen, making it visible and then moving it to the correct location afterwards.
And on and off over the years, on both Linux and Windows, in different apps, I've seen Swing somehow manage to move focus to the wrong window when you switch too quickly with alt-tab.
So if AWT can't mess with the window position, that should hopefully improve things.
Edit: close enough, 2007
It also has ports to Windows and Mac OS X ...
From there it's just a matter of writing the code to allow it to be a wayland client, which isn't that hard, and then doing translation between the wayland event callbacks and X events.
That will at least get you something basic working. There's a bit more to it, of course, and those details are why it's still actively maintained and worked on, but it's not too crazy.
The wayland compositor itself does need to special-case Xwayland, which brings some complexity.
Xwayland is even based on the same Xorg codebase, it's just that the DDX ("device-dependent X") layer used is Wayland-based.
And wasn't the X11 compatibility layer one of the first things developed for Wayland, since a lot of DEs/apps didn't directly support it yet?
I really thought Java was cool.