AWT (Abstract Windowing Toolkit), Java Programlama dilinin, platformdan bağımsız, görsel (graphical) kullanıcı arayüzü üretimini sağlayan araç kütüphanesidir. Java Foundation Classes (JFC) olarak adlandırılan standardize edilmis JAVA uygulama geliştirme arayüzünün önemli bir parçasıdır. Sonradan yeterli görülmeyerek geliştirilmesi sonucunda SWING adı verilen, daha gelişmiş bir kütüphane kullanılmaya başlanmıştır.
AWT kütüphanesinin en büyük dezavantajı, kullanıldığı platformda, grafik tabanlı bileşenlere doğrudan aracı katmanlar bulunmadan ulaşmasıdır. Bu sebepten, her platformda kullanılan farklı grafik bileşenlerinin ortak özellikleri kullanılmış, platformdan platformda değişebilen bazı farklılıklar göz ardı edilmiştir. "Bir kere yaz, her yerde çalıştır" sloganına pek uymayan bu durumda, UNIX sisteminde çalışan bir program, MAC platformunda çalışıldığında farklı sonuçlar doğurabilmiştir.
Sorun, JAVA grafik bileşenleri ile platform özellikleri arasına her duruma uygun kontroller sağlayabilen, daha "kalın" bir kütüphane katmanı SWING koyularak çözülmüştür. JDK'nın 2. versiyonda kullanılmaya başlanan SWING kütüphanesinde, her görsel bileşen (widget), platforma bağımlı olarak değil, SWING'e bağımlı olarak çalışır.
[1]