The answer is prefer swing, I think.
- since 1.4 there are big progress on awt (sun do that because java fx need awt, fortunately)
- since 1.5 big progress in thread managment (SwingWorker and concurrents things)
- swing is excellent, responsive (what the problem with developper fault ? ), native l&f, and so on
- there are excellent libraries, like swingx, trident, etc, and platform, like netbeans.
Of course it is a mature technology (a little old), but I know nothing else. It will be cobol of GUI development :-)