【问题标题】:Where is Java source code for various com.sun.* packages on Leopard?Leopard 上各种 com.sun.* 包的 Java 源代码在哪里?
【发布时间】:2009-07-21 12:49:10
【问题描述】:

我正在家里使用我的 MacBook,运行 Leopard,安装了来自 Apple 的最新 JDK 1.6。在 IDE 中,我想浏览 com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel 的源代码,但 IDE 找不到。我想浏览的另一个示例是 com.sun.java.swing.plaf.nimbus.ButtonPainter。

我需要将什么 JAR 或 ZIP 添加到我的 IDEA 项目中才能浏览 IDE 中的 com.sun..nimbus. 类我只对 Leopard 感兴趣,因为这在带有 Sun JDK 的 Windows。

我知道 Nimbus 类可用,因为我的应用程序使用 Nimbus 外观和感觉运行。

【问题讨论】:

    标签: java intellij-idea osx-leopard nimbus


    【解决方案1】:

    Nimbus 类在我的 1.6 Mac 安装中:

    /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Classes/classes.jar

    如果您需要源代码,我会让他们感到厌烦。我使用 JadClipse 在 Eclipse 中查看 jad'ed 源代码。当然,它并不完美,但可以在紧要关头使用。

    您还可以在此处获取 JDK 1.6 源代码:

    如果你解压它,你可以在 Work/j2se/src/share/classes/com/sun/java/swing/plaf/nimbus 下找到 Nimbus 源代码

    所以理论上可以将它与 classes.jar 挂钩,也许也可以得到一些工作。

    【讨论】:

    • Jad 不适合 Java 6 中的新字节码结构。
    • @AlexMiller:动态反编译很好,但结果通常需要对调试器中可用的部分进行一些清理。您是否碰巧知道在哪里可以获得 JDK 1.6 的“非官方”资源作为单个包?
    • 不,但您可能会发现更好的选择是查看他们上个月刚刚发布的新 Oracle OpenJDK mac 端口。
    【解决方案2】:

    不幸的是,这些库的源代码并不经常分发。如果你想检查代码,你可以下载一个反编译器并在你的安装中反编译 jars。

    Here is a link to wikipedia 有几个 JAD 下载站点的后续链接,这是一个可以完成这项工作的反编译器。

    【讨论】:

      【解决方案3】:

      正如其他人指出的那样,最好的办法是反编译代码。

      但是,其他人都建议使用 JAD,我不太喜欢它。 JD-GUI 是一个更好的反编译器,因为它可以查看 jars 和链接源,因此您可以更轻松地检查代码。我已经很容易地筛选了一些相当复杂的代码。

      http://java.decompiler.free.fr/

      【讨论】:

        【解决方案4】:

        JDK 的源代码可以在OpenJDK 获得(在不同的许可下)。但是,我不确定您将如何将其与 IntelliJ 集成。

        【讨论】:

          【解决方案5】:

          在 Mac 上,默认情况下不捆绑 JDK 的源代码。

          您需要从 Apple Developer Network 下载 XCode 内容 - 该下载中有一个用于 JDK 源代码的可安装包。它是否包含 com.* 内容是另一个问题;-)

          【讨论】:

            【解决方案6】:

            源代码在您安装 JDK 时提供。查看 src.zip 的 JDK 目录。

            大多数 Java 包都在那里,我相信 Swing 也会在那里。

            【讨论】:

            • com.sun.* 通常不在可用源中,因为它们不是 JDK 的一部分。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-08-09
            • 2023-03-14
            • 2015-10-07
            相关资源
            最近更新 更多