Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将类添加到Swing包——结果是在可见函数上出现IllegaAccessError_Java_Eclipse_Swing_Exception - Fatal编程技术网

Java 将类添加到Swing包——结果是在可见函数上出现IllegaAccessError

Java 将类添加到Swing包——结果是在可见函数上出现IllegaAccessError,java,eclipse,swing,exception,Java,Eclipse,Swing,Exception,我正在使用与其他Swing小部件相同的结构/样式创建一个新的小部件。为此,我将UI类放在javax.swing.plaf.basic中。作为UI实现的一部分,我使用javax.swing.plaf.basic.LazyActionMap类。Eclipse认为它是可见的,因为它具有相同的包名,但是在运行时我得到一个java.lang.IllegalAccessError异常(可能在运行时不可见) 看起来,即使我给了我的类相同的包名,Eclipse也认为它们在同一个包中,但在运行时它们不是 我有没有

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

看起来,即使我给了我的类相同的包名,Eclipse也认为它们在同一个包中,但在运行时它们不是


我有没有做错什么?我之所以尝试查看内部库类,是因为对于小部件的原型,我正在重新使用JSlider UI代码。在将来,我将过渡到从头开始绘制滑块。

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


您应该将自己的类放在自己的包中,而不是
javax
<代码>java.类甚至不会被非引导类装入器装入。

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

您应该将自己的类放在自己的包中,而不是
javax
<代码>java.*类甚至不会被非引导类装入器装入。

谢谢:)。这就解释了。我想我会避免这个特殊的临时黑客,似乎比它更麻烦。谢谢:)。这就解释了。我想我会避免这种特殊的临时黑客行为,似乎比它更麻烦。