Jonas,
Swing membuat generalisasi arsitektur dasar Anda untuk memberi Anda pengalaman pengguna platform netral. Satu-satunya komponen kelas berat (disediakan oleh OS) adalah wadah JFrame dan sisanya cukup banyak ditangani oleh Swing Takeit. AWT di sisi lain, meminta OS untuk menggambar semua komponen UI yang berarti lebih cepat dalam banyak hal karena Anda menggunakan komponen UI asli khusus untuk OS. SWT mencoba mencapai jalan tengah, untuk berbagai komponen standar seperti tombol dan label (yang tersedia di sebagian besar OS), ini memungkinkan OS menangani itu dan untuk komponen khusus lainnya, SWT akan menangani kreasi untuk Anda.
Konon, saya bisa menguraikan kelemahannya.
(1) Karena toolkit membuat dan merender komponen untuk Anda alih-alih bertanya pada OS, Anda tidak bisa memanfaatkan kecepatan komponen bawaan yang disediakan oleh OS.
(2) UI tidak terlalu tegas karena terlihat asing bagi kebanyakan platform OS tentang apa yang terlihat dan terasa apa yang Anda gunakan.
(3) Beberapa manajer tata letak yaitu GridBadLayout dll dapat disederhanakan dengan lebih baik. Saya telah kehilangan hitungan jumlah proyek yang saya kerjakan di mana orang telah membungkus GridBagLayout dalam beberapa kode yang dipesan lebih dahulu untuk mendapatkan cara yang lebih sederhana untuk menggunakannya.
Saya akan menyarankan Anda untuk menulis aplikasi sederhana di AWT, Swing dan SWT dan membandingkan pendekatan pengembangan dengan produk akhir di antara mereka semua, kemudian meninjau berbagai komentar yang dibuat dari pengembang lain dan memutuskan mana yang paling berhasil. Saya telah bekerja dengan Swing selama bertahun-tahun dan saya menggunakan SWT yang tidak disukai, tetapi saya menyadari bahwa Swing jauh lebih rumit daripada yang seharusnya bila dibandingkan dengan framework lain di luar sana.