Swing ve AWT, Java'nın iki GUI kütüphanesidir. AWT, daha eski ve platforma özgü bileşenler kullanırken, Swing daha modern ve platformdan bağımsız bileşenler sunar. Swing, AWT'den daha fazla özelleştirme ve esneklik sağlar, ayrıca daha zengin bir UI bileşen seti içerir. AWT, daha düşük seviyede grafik işleme ve performans optimizasyonları sunar.