gpt4 book ai didi

java - 如何分发 AWTUtilities

转载 作者:搜寻专家 更新时间:2023-11-01 03:14:50 28 4
gpt4 key购买 nike

我最近阅读了有关 Pushing Pixels 的博文,其中描述了如何使用纯 Java 实现 native 透明和半透明。所需的类驻留在 com.sun.awt 上,即 com.sun.awt.AWTUtilities。

我想知道如何将所需的类(不仅仅是这个)包含到我的发行版中,因为只有当您安装了 jdk 并通过那里启动 jvm 时,这些类才可用。所以我的程序的用户将没有运行我的程序所需的类。

有什么想法吗?

最佳答案

AWTUtilities,正如包所暗示的那样,是一个实现包,可能会发生变化。我认为从技术和法律的角度来分配类(class)不是一个好主意。

从技术上讲,com.sun.awt.AWTUtlities 必然对其他类和内部实现细节具有可能未知的依赖性,特定于 Java 6 u10 及更高版本 (the release in which it appeared)。这种未知的依赖性角度注定是站不住脚的,因为绘画和图形也需要对某些 native 实现进行更改。

其次,这必然会在 Java 7 中发生变化,因为唯一的版本 Sun 还没有发布支持透明性的 java.awt.AWTUtilities,因为除了主要版本外,他们没有对公共(public) API 进行更改.

IANAL,但我认为在没有经过律师的情况下参与重新分发软件的行为是不明智的。此外,客户不喜欢在他们的系统中部署不受支持的任何软件。

更新

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

关于java - 如何分发 AWTUtilities,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1416869/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com