It was quite productive and straightforward. That said, Java likes to use as much RAM as it can get even if it could release a lot back to the OS. It looks at it, sees it's free and thinks "I might as well take that".
That shouldn't be the goal. Linux and Windows have different norms when it comes to UI design, and (usually) have completely different widget appearances. You can save yourself a lot of headaches by just specifying the bare minimum (i.e. the widgets themselves) and letting the user/system remain in control of exactly how they appear.
In other words, if you're treating desktop GUI design as equivalent to web GUI design and expecting your app to look the same across all platforms, you're going to have a bad time.