com.sun.awt包用法

我找到了一个java code ,想在我的项目中使用它。 它包含我的JDK没有的这些导入:

 import com.sun.awt.AWTUtilities; import com.sun.jna.Native; import com.sun.jna.platform.WindowUtils; 

我提到了sun网站,发现了这个下载页面:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

是否有必要下载所有JDKJRE并从SUN网站上替换它? 我的JDK是版本6并且是最新的。

谢谢你们

JNA是一个额外的库,不是标准API的一部分,你必须下载它( 这里 )并将它包含在你的类路径中。

AWTUtilities类仅与sun jvm一起发布,作为api的实现细节,因此可能会发生变化,这可能会破坏任何程序(如果可能的话,不使用它 )。

可以在platform.jar中找到WindowUtils ,它可以在与WindowUtils相同的页面上找到它。

你的JDK应该有com.sun.awt.AWTUtilities 。 它在rt.jar

也许问题(对于该文件)是您的IDE排除了构建路径的父级…,理由是直接使用这些类是个坏主意。

com.sun.jna类不在rt.jar 。 它们显然可以在jna.jar找到,但我还没有找到一个好的地方来下载它。 (如果你使用Maven,试试这个 。)

除非作为最后的手段,否则不应使用任何com.sun软件包。 这些被认为是实现细节,它们不是JDK API的一部分。 它们可以在版本之间任意更改,因此当您尝试升级JDK版本时它们可能会导致问题。

com.sun类几乎总是由“官方”类包装 – 你应该使用它们。 您可以在最后的情况下使用它们,但它们已经是JDK下载的一部分,因此不需要额外的下载。

编辑:看起来你是对的,你需要下载一些额外的jar子。 JNA jar可以在maven central上找到(http://mvnrepository.com/artifact/com.sun.jna/jna/3.0.9)。 特别是如果这是你找到的代码片段,我强烈建议不要直接使用com.sun软件包。