2010-01-05 69 views

回答

20

Swing最初是Java的擴展 - 一個可單獨下載的庫。它成爲Java 1.2中「主要」JRE的一部分。對於一個單獨的圖書館來說,聲稱一個java。*包,因此當前情況是很奇怪的。還有很多其他的擴展有類似的故事。

Wikipedia article on Swing有一些關於其歷史的更多信息。

+0

哇!引用一個StackOverflow問題的維基百科文章有多酷。 – OscarRyz 2010-01-05 09:27:15

+5

從維基百科鏈接StackOverflow有什麼好處?每個人都可以創建這樣的鏈接...... – Arne 2010-01-05 15:51:39

4

由於歷史原因和向後兼容性。在java 1.2 swing之前,java是作爲一個獨立的包分發的(因此javax作爲擴展)。

當swing成爲標準java分發包名的一部分時,爲保持向後兼容性而保留了它。在wikipedia文章

17

更多信息從核心的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 2兼容的Java實現都必須提供Swing類。儘管如此,爲了與Java 1.1代碼兼容,javax名稱仍然存在。 (實際上,Swing包起初爲com.sun.java.swing,然後在Java 2 beta版早期簡要地轉移到java.awt.swing,然後在Java 2後期版本中回到com.sun.java.swing,並且經過Java程序員抗議之後發現它的最終安放地點在javax.swing。)

1

x是因爲它們是擴展名。在Java 1.1版本中沒有搖擺,當它被添加時,他們決定將它命名爲:javax

有許多類似的歷史包。

相關問題