なぜインポートするjavax.swing。*の代わりにjava.swingの。*
質問
私は理解していませんでした。理由は何ですか?他の人がjava.swing.*
のようにそれだけでjava.io.*
することができませんか?
他のヒント
名前javax
は、Java拡張パッケージではなく、コアパッケージを示します。 Swingクラスは、実際のJava 1.1の拡張機能です。 Swingクラスは、コア階層の一部ではなかったので、Java 1.1対応のブラウザにSwingクラスをロードすることが可能である。(ブラウザのセキュリティマネージャが「java.
」で始まるすべてのパッケージを追加することはできません。)オンJava 2プラットフォームでは、Swingのパッケージは、もはや拡張ではありませんが、代わりにコア階層の一部です。 Javaの2と互換性のある任意のJava実装では、Swingクラスを指定する必要があります。それにも関わらず、javaxの名は、Java 1.1のコードとの互換性のために、残っています。 (実際には、スイングパッケージはその後、その後、簡単には早期のJava 2ベータ版の間にcom.sun.java.swing
に移動してしまったjava.awt.swing
として始まった後半のJava 2ベータ版に戻っcom.sun.java.swing
に行き、Javaプログラマによる抗議の遠吠えした後、最終的な休憩所を見つけましたjavax.swing
インチ)
歴史的な理由と後方互換性のため。ジャワ1.2スイングはJavaとは別のパッケージとして配布される前に(したがって拡張としてのjavax)。
スイングは下位互換性のために維持された標準のJava-配布パッケージ名の一部となりました。 ウィキペディアの記事
で詳細情報の X の彼らは拡張子であったためでした。 Javaのバージョン1.1ではそこに振ると、それが追加されたとき、彼らはそのように命名することを決めていなかった:javaxの
同様の歴史を持つパッケージの数があります。