button.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        if (dialog == null)
          dialog = JColorChooser.createDialog(
              Test.this,
              "Pick A Color",
              false,
              chooser,
              null,
              null);
      }
    });
这段代码是怎么回事?
button.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      这是什么意思啊?

解决方案 »

  1.   

    匿名类,是一个继承ActionListener型的类,实现了ActionListener必须实现的函数public void actionPerformed(ActionEvent e)
      

  2.   

    这是匿名类的用法。用一个匿名类作为addActionListener的参数。
    java有这样的用法的本意是:
    1。有些类只需要产生一个对象,如果为它的对象指定名字,这样会很烦琐;
    2。提高编译效率
      

  3.   

    button.actionListener(actionListener)括号中的参数为actionListener型的对象,
    java采用匿名类的机制,写起来,更简捷,
    不过,也可不这样写,假设,button 是applet界面中的按纽,可以这样写,button.actionListene(this),
    然后,在applet中写public void actionPerformed(ActionEvent e){if e.getSource()==button
    {//do something}}