gpt4 book ai didi

java - XMLEncoder 跳过 ActionListener

转载 作者:行者123 更新时间:2023-12-04 05:03:48 25 4
gpt4 key购买 nike

我有一个用 XMLEncoder 编码的 JButton,一切都很好,直到我尝试添加一个 ActionListener。现在,我收到这条消息

java.lang.InstantiationException: Temp$1
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement JButton.addActionListener(Temp$1);
Continuing ...

有谁知道为什么会发生这种情况,或者如何预防?

最佳答案

开箱即用 XMLEncoder只能处理作为 Java Beans 的自定义类,特别是该类必须具有无参数构造函数。匿名内部类,例如您的 Test$1在字节码级别没有无参数构造函数,因为编译器在构造函数的参数列表的开头插入了一个不可见的参数,以传递对包含内部类的类的“包含实例”的引用。

java.beans package documentation正是这一点,并建议使用 java.beans.EventHandler而不是听众的内部类。

关于java - XMLEncoder 跳过 ActionListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15777712/

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