Pertanyaan yang sangat bagus. Saya selalu bertanya-tanya tentang hal itu sendiri selama beberapa tahun berikutnya di masa lalu, saya pikir ada beberapa alasan yang sah di balik ini, tetapi sebenarnya tidak ada.
Saya pikir jawabannya agak sederhana, dan banyak jawaban tidak benar-benar menggali masalah ini.
Jika bahasa Anda memungkinkan untuk menggambar piexel di layar maka 100% memungkinkan untuk membuat kerangka kerja gui berdasarkan itu yang akan meniru kontrol bentuk Windows terlihat & terasa tepat.
Karena Java adalah crossplatform, maka sepenuhnya dimungkinkan untuk memastikan bahwa berdasarkan pada tipe sistem berjalan aktual (Mac / Windows) UI akan memilih untuk terlihat berbeda pada kedua platform, sesuai dengan gaya platform runtime.
Seperti yang Anda lihat di XAML misalnya UI dapat dengan mudah disajikan dalam bentuk dan bahasa yang sangat terstruktur. Memilih perilaku "asli" juga dimungkinkan jika waktu diambil untuk melakukan ini.
Jadi dimungkinkan untuk membuat kerangka kerja GUI yang memungkinkan pengembang Java mendapatkan aplikasi yang terlihat asli di Mac dan Windows.
Jadi kita sampai ke Swing, itu hanya satu kerangka GUI dari potensi tak terbatas kerangka GUI yang bisa dibuat untuk Java. Itu berperilaku bagaimana itu diprogram, yang tidak mengikuti proses di atas dan Anda mendapatkan aplikasi yang aneh di kedua sistem. Itulah pilihan yang dibuat oleh pengembang Swing, tidak ada yang memaksa mereka untuk melakukan ini dan berperilaku seperti itu.