当前位置: 首页 > 面试题库 >

com.sun.awt包的使用

松洛华
2023-03-14
问题内容

我找到了一个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

是否有必要下载所有JDK,并JRE从SUN网站更换呢?我JDK的版本是6,并且是最新的。

谢谢你们


问题答案:

JNA是一个附加库,不是标准api的一部分,您必须下载它(在此处)并将其包含在类路径中。

AWTUtilities班仅与太阳的JVM的API的实现细节分布,因此可能发生变化,这可以打破依赖于它的任何程序如果可能不使用它]。

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

{正如该软件包所暗示的那样,AWTUtilities是一个实现软件包,并且可能会发生变化。我认为从技术和法律角度分配课程不是一个好主意。

从技术上讲,com.sun.awt.AWTUtlities必然对其他类和内部实现详细信息具有未知的依赖关系,这些特定于Java 6 u10及更高版本(出现在该版本中)。由于绘画和图形也需要在某些本机实现中进行更改,因此这种未知的依赖角度势必会持续存在。

其次,这必定会在Java 7中发生变化,因为Sun尚未发布具有透明性支持的java.awt.AWTUtilities的唯一发行版,是因为除了主要发行版之外,它们均未更改公共API。

IANAL,但我认为不经过律师就从事重新分发软件的行为是不明智的。此外,客户不喜欢在系统中不支持任何软件部署的想法。

更新资料

从6u10开始的所有Sun JRE(不仅是JDK)都带有com.sun.awt.AWTUtilities,因此最简单的操作方法是让用户在其系统上安装Java 6u10或更高版本,并让您的应用程序处理任何优雅地产生异常。}



 类似资料:
  • 我试图在我自己的包中使用data.table包。MWE如下:

  • 我在OSGI开发中使用了KURA,它运行在EclipseEquinox之上,我希望能够使用捆绑包中的“com.sun.net.httpserver.*”类。 我发现在这个链接下(在OSGi包中使用受限类),我必须使用OSGi框架属性通过系统包指定它: 我的问题是我不知道在哪里设置这个属性。你知道吗?

  • 本文向大家介绍Go unsafe 包的使用详解,包括了Go unsafe 包的使用详解的使用技巧和注意事项,需要的朋友参考一下 unsafe包 golang是一种静态的强类型的语言,所有的类型都是不能随意转换的,Go语言是不允许两个指针类型进行转换的。go官方是不推荐使用unsafe的操作因为它是不安全的,它绕过了golang的内存安全原则,容易使你的程序出现莫名其妙的问题,不利于程序的扩展与维护

  • flag包的使用详解 go语言提供的flag包可以解析命令行的参数,而且使用起来非常的方便。 先看一个小例子: pro02_4.go package main import ( "flag" "fmt" ) var bFlag = flag.Bool("b", false, "If show message") func main() { //第一个参数,为参数名称,

  • 7.4. 使用http包 下面是一个完整的web server例子: package main import ( "fmt" "http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hi there, I love %s!", r.URL.

  • 我遇到过很多问题,因为有不同的SAAJ包带有SOAP类: 在rt.jar中 中的saaj-impl.jar 当WebLogic使用中的类,并且使用中的类创建应用程序时,它会在部署应用程序时引发如下异常: 或 我的解决方案是创建一个带有saaj引用的weblogic.xml描述符,并将saaj-impl.jar包含在WAR中。问题是:我能知道WebLogic服务器中使用的SAAJ包是什么吗?