Jonas,
Swing, size platformdan bağımsız bir kullanıcı deneyimi sunmak için temel mimarinizi genelleştirir. Tek ağır ağırlık bileşeni (işletim sistemi tarafından sağlanan) JFrame kapsayıcısıdır ve geri kalanı da Swing takeit tarafından ele alınır. Diğer taraftan AWT, işletim sisteminden tüm UI bileşenlerini çizmesini ister, bu da işletim sistemine özgü yerel UI bileşenlerini kullandığınızdan çok daha hızlı olduğu anlamına gelir. SWT, bir orta yol elde etmeye çalışır, düğmeler ve etiketler gibi çeşitli standart bileşenler için (çoğu işletim sisteminde bulunur), işletim sisteminin bunlarla uğraşmasına izin verir ve diğer özel bileşenler için SWT sizin için yaratılışın üstesinden gelecektir.
Bununla birlikte, sakıncaları özetleyebilirim.
(1) Araç seti işletim sistemini sormak yerine bileşenleri sizin için oluşturup oluşturduğundan, işletim sistemi tarafından sağlanan yerleşik bileşenlerin hızından yararlanamazsınız.
(2) Kullanıcı arayüzü, hangi görünüm ve hissi kullandığınıza ilişkin olarak çoğu işletim sistemi platformuna yabancı göründüğü için kısmen karmaşık değildir.
(3) GridBadLayout vb. Gibi mizanpaj yöneticilerinden bazıları daha basitleştirilebilir. Ben insanların kullanmak için daha basit bir yol elde etmek için bazı ısmarlama kod GridBagLayout sarılmış nerede üzerinde çalıştığım proje sayısını kaybettim.
AWT, Swing ve SWT'de basit bir uygulama yazmanızı ve geliştirme yaklaşımlarını aralarında bir nihai ürünle karşılaştırmanızı, ardından diğer geliştiricilerden yapılan çeşitli yorumları gözden geçirip hangisinin en iyi olduğuna karar vermenizi öneririm. Swing ile uzun yıllar çalıştım ve SWT'yi sevmedim, ama Swing'in diğer çerçevelere kıyasla olması gerekenden çok daha karmaşık olduğunu fark ettim.