This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
For AWT buttons (for example), Java asks the operating system to draw a button. So, for example, a Windows control is created. The AWT component then has to keep track of a pointer to this native Windows button, and remember to dispose of it at some point. Making all these calls to the OS is what's considered "heavyweight".
For Swing buttons, the button is drawn on the screen in Java code. There are no native controls, no remembering to dispose of anything -- hence they are independent, free, "lightweight."