2010-01-05 46 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

有许多类似的历史包。

相关问题