Swing פותחה על מנת לספק סט מתוחכם יותר של רכיבי GUI מאשר ה-Abstract Window Toolkit (בקיצור AWT).
Swing מספקת עיצוב ומראה אשר מחקים את אלו של מספר פלטפורמות, ובנוסף תומכת במכניזם המאפשר לשנות את העיצוב של GUI בזמן ריצה (אנ'). יכולת זו מאפשרת לעיצוב ולמראה של האפליקציות להיראות לא קשורים לפלטפורמת היסוד. בנוסף לרכיבים הרגילים, כגון כפתורים, Check boxes ותוויות (לייבלים), Swing מספקת מספר קומפוננטים מתקדמים כגון עצים, טבלאות, רשימות, Tabbed panel ו-Scroll panes.
בניגוד לרכיבי AWT, רכיבים ב-Swing כתובים לחלוטין ב-Java ולא תלויים בפלטפורמות אחרות. בדצמבר2008, סאן מיקרוסיסטמס שחררה את JavaFX ,אשר נועדה להיות היורשת של Swing.