Почему импорт javax.swing.* вместо java.swing.*

Я не понял, почему существует "x", добавленный к "Java" для немногих пакетов импорта. Какова причина? Не может это быть справедливым java.swing.* как другие java.io.*?

13
задан Jonas 9 December 2011 в 12:36
поделиться

4 ответа

Swing изначально было расширением Java - отдельно скачиваемой библиотеки. Она стала частью "основного" JRE в Java 1.2. Было бы странно, если бы отдельная библиотека заявила на пакет java.*, отсюда и текущая ситуация. Есть много других расширений, которые имеют похожую историю.

Статья в Википедии Swing содержит немного больше информации о её истории.

.
20
ответ дан 1 December 2019 в 18:06
поделиться

Из 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.)

.
17
ответ дан 1 December 2019 в 18:06
поделиться

По историческим причинам и обратной совместимости. До java 1.2 swing распространялся как отдельный пакет от java (отсюда и javax как расширение).

Когда swing стал частью стандартного java-дистрибутива, имя пакета сохранялось для обратной совместимости. Более подробная информация в статье wikipedia

.
5
ответ дан 1 December 2019 в 18:06
поделиться
[

] []x [] было потому, что они были расширениями. В версии 1.1 java не было колебаний, и когда она была добавлена, они решили назвать ее так: javax [

]. [

] Есть несколько пакетов с похожей историей. [

]
1
ответ дан 1 December 2019 в 18:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: