MohrAboutBox.1 local1 = new ActionListener() {


我用JD GUI 0.3.3反编译了一个jar文件,我得到了这一行,这对我来说毫无意义。 “ .1”(第一个)是什么意思?我试图重新编译,但javac编译器出现错误,它说这不是该行的声明。我该怎么办 ?我想我必须删除“ .1”或放入“ this”或某些变量,类或方法,我不知道JD为什么不能完成这项工作。

class MohrAboutBox extends JDialog
{
  public MohrAboutBox(MohrControls paramMohrControls)
  {

    MohrAboutBox.1 local1 = new ActionListener() {
      public void actionPerformed(ActionEvent paramActionEvent) {
        MohrAboutBox.this.exit_dlg();
      }
    };

最佳答案

它指的是以下事实:它是ActionListener中封闭的(匿名)类(实现MohrAboutBox)的实例,例如。 MohrAboutBox $1,将其更改为:

ActionListener listener = new ActionListener() {
    public void actionPerformed(ActionEvent paramActionEvent) {
        MohrAboutBox.this.exit_dlg();
    }
};

07-26 09:41