Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Because Sun made the boneheaded decision (and never admitted it was dumb) to go for emulated widget controls instead of native ones. What this means is that they have had to reimplement and imitate the behavior of native controls on all platforms (realistically, Windows only) every time Microsoft came up with a new version.

In contrast, IBM took the native approach with SWT / JFace, and the interfaces written with that library look and feel infinitely more native and performant than Swing and JavaFX ever did and ever will.



The toolkit based on native widgets existed before Swing. It was called AWT.


AWT wasn't native either - it just had one ugly appearance and couldn't be themed. I seem to recall it kind of resembled Sun's CDE (Common Desktop Environment) so it would have look sort of at home on Solaris.


AWT uses native widgets.


AWT isn't native, it uses peers.

The fact that Swing ended up being such a massive failure was in good parts due to the fact that Swing is built on top of AWT.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: