com.sun.awt包用法

时间:2011-02-09 04:34:19

标签: java sun

我找到了一个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并且是最新的。

谢谢大家

3 个答案:

答案 0 :(得分:9)

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

AWTUtilities类仅与sun jvm一起发布,作为api的实现细节,因此可能会发生变化,这可能会破坏任何程序(如果可能don't use it)。< / p> 可以在platform.jar中找到

WindowUtils,你可以在与jna相同的页面上找到它。

答案 1 :(得分:5)

您的JDK应该有com.sun.awt.AWTUtilities。它位于rt.jar

可能问题(对于该文件)是您的IDE将构建路径排除在父级之外......理由是直接使用这些类是个坏主意。

com.sun.jna类不在rt.jar中。它们显然可以在jna.jar中找到,但我还没有找到一个好的下载地点。 (如果您使用Maven,请尝试this。)

答案 2 :(得分:4)

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

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

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