Зачем импортировать javax.swing.* вместо java.swing.*

StackOverflow https://stackoverflow.com/questions/2004759

  •  18-09-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

Из ядра Java 2:
альтернативный текст 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.)

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

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

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

Существует несколько пакетов с похожей историей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top