Câu hỏi thực sự tốt. Tôi luôn tự hỏi về nó trong vài năm sau đó, tôi nghĩ rằng có một số lý do chính đáng đằng sau điều này, nhưng thực sự không có.
Tôi nghĩ rằng câu trả lời khá đơn giản và rất nhiều câu trả lời không thực sự đi sâu vào vấn đề.
Nếu ngôn ngữ của bạn cho phép vẽ piexel trên màn hình thì 100% có thể tạo khung gui dựa trên nó sẽ bắt chước các điều khiển biểu mẫu Windows trông & cảm nhận chính xác.
Do Java là nền tảng chéo nên hoàn toàn có thể đảm bảo rằng dựa trên giao diện người dùng loại hệ thống (Mac / Windows) thực tế sẽ chọn trông khác nhau trên cả hai nền tảng, phù hợp với kiểu nền tảng thời gian chạy.
Như bạn có thể thấy trong XAML, ví dụ UI có thể dễ dàng được trình bày dưới dạng và ngôn ngữ có cấu trúc rất chặt chẽ. Chọn các hành vi "bản địa" cũng có thể nếu có thời gian để làm điều này.
Vì vậy, có thể tạo khung GUI cho phép các nhà phát triển Java có được các ứng dụng trông giống như trên Mac và Windows.
Vì vậy, chúng ta đến với Swing, đó chỉ là một khung GUI ngoài vô số tiềm năng của các khung GUI có thể được tạo cho Java. Nó hoạt động như thế nào nó đã được lập trình, không tuân theo quy trình trên và bạn nhận được các ứng dụng trông kỳ lạ trên cả hai hệ thống. Đó là sự lựa chọn của các nhà phát triển Swing, không ai bắt họ phải làm điều này và hành xử theo cách đó.