Dropping AWT would make sense if you want to break backwards compatibility in favor of simplifying the Swing API. Otherwise, you would only add even more overhead emulating the AWT layer access through Swing (since they would not be directly related anymore). All AWT classes ans methods are still accessible, and should still work.
BUT breaking backwards compatibility is not an option. One of the reasons for the success of Java is the solid stability of the API (well, Java is also a victim of its own success, but this is another issue...).
On the Java3D issue, I don't know it's compatible with Swing, but if not, it's not AWT's or Swing's fault, but Java3D's. It it's APIs are designed in such a way that it's fundamentally incompatible with Swing, then it's just broken, and it is J3D that should be fixed. Anyway, I don't think that is the case, as others already pointed out.
And, as fiath said, AWT still have a role in the platform, besides being legacy code. It's the package where, the classes you know are highly coupled with the underlying platform, are located (systray, robot, browser, clipboard, imaging). Swing is just a GUI toolkit.
Posted by: ronaldtm on March 30, 2007 at 11:13 AM