gpt4 book ai didi

java - 将类添加到 Swing 包 - 结果是可见函数上的 IllegalAccessError

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:23 25 4
gpt4 key购买 nike

我正在使用与其他 Swing 小部件相同的结构/样式创建一个新小部件。为此,我将 UI 类放入 javax.swing.plaf.basic 中。作为 UI 实现的一部分,我使用 javax.swing.plaf.basic.LazyActionMap 类。 Eclipse 认为它是可见的,因为它具有相同的包名称,但是在运行时我收到 java.lang.IllegalAccessError 异常(大概它在运行时不可见)。

看起来,即使我给我的类指定了相同的包名称,并且 Eclipse 认为它们位于同一个包中,但在运行时它们却不是。

我是不是做错了什么?我尝试了解内部库类的原因是因为对于小部件的原型(prototype),我重复使用 JSlider UI 代码。将来我将过渡到从头开始绘制 slider 。

最佳答案

通过不同的类加载器加载的类被认为属于不同的包。在编译时,您的编译器将不知道您将如何部署,因此看不到错误。您可以使用 -Xbootclasspath/a: 将代码添加为系统类,但这非常顽皮,您不应该这样做。

您应该将自己的类放入自己的包中,远离 javaxjava.* 类甚至不会被非引导类加载器加载。

关于java - 将类添加到 Swing 包 - 结果是可见函数上的 IllegalAccessError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8031765/

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