Зачем импортировать javax.swing. * Вместо java.swing. *
Я не понял, почему "x" добавлено в "java" для нескольких пакетов импорта. Какова причина? Разве это не может быть просто java.swing.*
как другие java.io.*
?
Ответы
Ответ 1
Swing первоначально был расширением для Java - отдельно загружаемой библиотеки. Он стал частью "основной" JRE в Java 1.2. Было бы странно, если бы отдельная библиотека заявила о пакете java. *, Следовательно, текущая ситуация. Есть много других расширений, которые имеют аналогичную историю.
Статья Википедии о Swing содержит немного больше информации о ее истории.
Ответ 2
От Core Java 2:
alt text http://bks5.books.google.fr/books?id=W6bomXWB-TYC&printsec=frontcover&img=1&zoom=5&edge=curl&sig=ACfU3U3IeRSfENUVokGf-d9GUZZBU-tYMQ
Имя javax
указывает пакет расширения Java, а не основной пакет. Классы Swing действительно являются расширением Java 1.1. Поскольку классы Swing не были частью основной иерархии, можно загружать классы Swing в браузер с поддержкой Java 1.1 (менеджер безопасности браузера не позволяет добавлять пакеты, начинающиеся с "java.
". ) На платформе Java 2 пакет Swing больше не является расширением, а является частью основной иерархии. Любая реализация Java, совместимая с Java 2, должна предоставлять классы Swing. Тем не менее, имя javax остается, для совместимости с кодом Java 1.1. (На самом деле пакет Swing начинался как com.sun.java.swing
, а затем был переведен в java.awt.swing
во время ранних бета-версий Java 2, а затем вернулся к com.sun.java.swing
в поздних версиях Java 2 и после воплей протеста Java-программистов, нашел свое окончательное место отдыха в javax.swing
.)
Ответ 3
По историческим причинам и обратной совместимости. До того, как java 1.2 swing был распространен как отдельный пакет из java (следовательно, javax как расширение).
Когда swing стал частью стандартного java-дистрибутива, имя пакета было сохранено для обратной совместимости. Дополнительная информация в статье по Википедии
Ответ 4
x состоял в том, что они были расширениями. В версии 1.1 java не было качели, и когда она была добавлена, они решили назвать ее так: javax
Существует несколько пакетов с похожими историями.