本当に良い質問です。過去数年間、私はいつも自分でそれについて疑問に思っていました。この背後には正当な理由があると思っていましたが、実際はそうではありません。
答えはかなり単純で、多くの答えが実際に問題を掘り下げているわけではないと思います。
あなたの言語が画面上にピクセルを描画することを許可している場合、それに基づいてWindowsフォームコントロールのルックアンドフィールを正確に模倣するGUIフレームワークを100%作成することができます。
Javaはクロスプラットフォームであるため、実際の実行システムタイプ(Mac / Windows)に基づいて、UIが両方のプラットフォームで異なるように選択され、ランタイムプラットフォームスタイルに一致することを確認できます。
たとえば、XAMLでわかるように、UIは非常に構造化された形式と言語で簡単に表示できます。時間がかかる場合は、「ネイティブ」動作を選択することもできます。
したがって、Java開発者がMacおよびWindowsでネイティブに見えるアプリケーションを取得できるようにするGUIフレームワークを作成することが可能です。
そこで、Swingに行きます。これは、Java用に作成できるGUIフレームワークの無限の可能性のうち、たった1つのGUIフレームワークです。それはプログラムされた方法で動作しますが、上記のプロセスに従わず、両方のシステムで奇妙に見えるアプリを取得します。これがSwing開発者の選択であり、誰も彼らにこれを強制し、そのように振る舞わせたわけではありません。