Java Foundation Classとは何ですか?
Java Foundation Classes(JFC)は、Java®アプリケーションでグラフィカルユーザーインターフェイスを構築するために使用できる再利用可能なソフトウェアコンポーネントです。 これらは、Java®の初期バージョンに同梱されていたツールキットを改善したものです。 これらは、ソフトウェア開発を簡素化し、プログラミング時間を短縮し、実行するコンピューターの種類に関係なく同じように見え、動作するアプリケーションを作成するという目標を達成することを目的としています。
JFCは、元々Java®プログラミング言語で提供されていたAbstract Window Toolkit(AWT)を拡張するユーザーインターフェイスコンポーネントのセットです。 これらは、Java2®の一部であり、クロスプラットフォームでカスタマイズ可能なように設計されたJavaBeans™コンポーネントです。 これらは、アプリケーション間およびプラットフォーム間で再利用できるコンポーネントを提供することにより、プログラミング時間を短縮することを目的としています。 Java Foundation Classesは、実際にはAbstract Window Toolkitを置き換えるものではなく、その一部です。 ただし、元のAWTよりも完全に「一度だけ書き込み、どこでも実行」というJava®の理想を実現します。
AWTはユーザーインターフェイスの設計を可能にしますが、AWTが実行されているオペレーティングシステムのウィンドウシステムを使用して設計します。 これにより、オペレーティングシステム間の機能に固有の違いがあるため、どのプラットフォームでも同じように見え、動作するアプリケーションを作成することが難しくなります。 また、AWTが提供する一連のコントロールは、複雑なユーザーインターフェイスや高度なソフトウェアアプリケーションを作成するのに十分な広さではなかったという点で、AWTは非常に制限されていました。 AWTコンポーネントは、ホストウィンドウシステムを使用するため、Sun Microsystemsが「ヘビーウェイト」と呼ぶものです。
Netscape開発者は、AWTの制限を認識して、Internet Foundation Classと呼ばれるコンポーネントのセットを作成しました。 これらは、Java®でネイティブに記述された「軽量」コンポーネントのセットです。 これにより、AWTの機能が拡張され、開発者は、異なるプラットフォームで実行したときに外観を保持するユーザーインターフェイスを作成できるようになりました。 その後、JavaSoftは、Swingプロジェクトと呼ばれるNetscapeとの共同プロジェクトを開始しました。 このプロジェクトの結果、あらゆるオペレーティングシステムプラットフォームで利用可能なものに匹敵するさまざまなユーザーインターフェイスコントロールのセットが作成されました。
Swingは、SunがJava Development Kit(JDK)バージョン1.2向けに意図された他のいくつかの機能改善と組み合わせて一般にリリースした軽量コンポーネントのセットです。 このSwingパッケージとその他の機能改善により、JavaSoftはJava Foundation Classesと名付けました。 Swingのユーザーインターフェイスコントロールは、Java Foundation Classの主要な部分であり、他のアイテムの中でも、印刷、クリップボード、およびアクセシビリティ機能も含まれています。 JDK 1.2にはJFCのフルバージョンが含まれていますが、当時のJDK 1.1で使用できる限定バージョンが提供されていました。