ความแตกต่างระหว่าง AWT และ Swing ความแตกต่างระหว่างการเขียนโปรแกรม
การเขียนโปรแกรมใน Java หมายความว่าคุณต้องมีเครื่องมือที่เหมาะสมเพื่อที่จะเสร็จสิ้นโครงการของคุณได้อย่างรวดเร็วและมีประสิทธิภาพ หนึ่งในเครื่องมือที่จำเป็นคือส่วน GUI (Graphic User Interface) นี้ช่วยให้คุณสามารถเพิ่มองค์ประกอบกราฟิกโดยไม่ต้องเป็นกลุ่มของการเขียนโปรแกรมที่จำเป็น ในหมวดหมู่นี้คุณสามารถเลือกได้ 2 แบบ ครั้งแรกคือ AWT (Abstract Window Toolkit) และส่วนที่สองคือการแกว่งซึ่งจะปรากฏขึ้นในภายหลัง
ทั้งสองชุดเครื่องมือเหล่านี้มีข้อดีและข้อเสียของตัวเองที่ทำให้เหมาะสมกับความต้องการในการเขียนโปรแกรมประเภทต่างๆ AWT ใช้คำสั่งดั้งเดิมของแพลตฟอร์มที่ให้คะแนนความเร็วเป็นจำนวนมาก แต่เพื่อที่จะแปลงให้ใช้ในแพลตฟอร์มอื่นคุณต้องเปลี่ยนคำสั่งคู่ สวิงในทางกลับกันใช้รหัส Java บริสุทธิ์ทำให้เป็นแบบพกพามากในแพลตฟอร์มที่ค่าใช้จ่ายของความเร็วและประสิทธิภาพ
คุณลักษณะอีกประการหนึ่งของการแกว่งคือการพยายามเลียนแบบรูปลักษณ์และความรู้สึกของระบบปฏิบัติการที่กำลังทำงานอยู่ทำให้ดูเหมือนสภาพแวดล้อมดั้งเดิม นี้ถูกตีโดย AWT เนื่องจากใช้คำสั่งพื้นเมือง; ดูเหมือนว่า UI แบบเดิมมีลักษณะอย่างไร ข้อได้เปรียบที่สำคัญของการแกว่งคือการสนับสนุนคุณลักษณะที่มากกว่า AWT คอมโพเนนต์เช่นคำแนะนำเครื่องมือและไอคอนไม่สามารถใช้งานได้ใน AWT ในขณะที่ใช้งานได้เต็มที่ในการแกว่ง คุณลักษณะเพิ่มเติมและการออกแบบ java ของการแกว่ง แต่หมายความว่าคุณต้องใช้ปลั๊กอิน java เพื่อให้โปรแกรมทำงานได้ในขณะที่เบราว์เซอร์ส่วนใหญ่ในปัจจุบันสนับสนุนคลาส AWT ที่ช่วยลดความจำเป็นในการดาวน์โหลดปลั๊กอินถ้าต้องการสร้างแอปเพล็ตแบบจาวาแบบง่ายๆคุณอาจพบวิธีการก่อสร้างที่รวดเร็วและใช้งานง่ายของ AWT เพื่อช่วยได้มาก แต่ถ้าคุณต้องการสร้างแอพพลิเคชันแบบเต็มเป่าคุณอาจมองเข้าไปในสิ่งที่แกว่งสามารถนำเสนอได้ รายการคอมโพเนนต์ที่เพิ่มขึ้นและความสามารถในการพกพาอาจเป็นประโยชน์มากขึ้น