これらのコンポーネントは、さまざまな種類のウィンドウです。オペレーティング システムでウィンドウを作成する場合は、OS ネイティブ コードを呼び出す必要があります。これは、Java で行う方法がないためです。さらに、すべてのユーザー入力イベント (マウス、キーボードなど) は、OS によって適切な OS ウィンドウにディスパッチされます。Java コンポーネントは、ネイティブ コードでこれらのイベントをリッスンし、JNI を介して Java レベルに送信します。要約すると、それらを軽量化することは不可能です。