Wasn't the entire point of Swing to be hardware-INdependent? Not that I promote that; to the contrary, I think reinventing the wheel when there is one that is 99% round is a waste of time, and is generally the byproduct of a developer with too much ego and not enough work.
The various points about which language is better, did MS copy the Java class library, and on and on and on...all come down to a personal preference. I had a bad experience by jumping into Java early, so I saw all of the bloat. It is much faster now, but I still have the bad taste in my mouth, and after having worked in C# .NET for about two years now, I much prefer it to Java. Doesn't make me right, doesn't make me wrong. I just prefer the design patterns that Microsoft used in their admitted adaptation of the Java class library to those used in the "original".