阅读下列程序,回答问题。
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;public class TestChange extends JApplet {
        JButton  button;
        public void  init()
         {
           button = new JButton("click here ");
           getContentPane().add(button);
         }
class ButtonListener  implements  ActionListener    //内部类
      {  public void actionPerformed(ActionEvent evt){
                 JButton b= (JButton)evt.getSource();
                 b.setText("you  have  clicked");
            }
      }
}该程序创建包含一个按钮的applet,当点击按钮时将改变按钮的标题。
为满足要求,对上面代码来说以下哪一个为真?
A) 监听类需注册到button控件,为此,在JApplet类的init方法中编写以下代码。
     ButtonListener  bListener=new ButtonListener();
     button.addActionListener(bListener);
B) 监听类需注册到button控件,为此,在JApplet类的init方法中编写以下代码
     ButtonListener  bListener=new ButtonListener();
     bListener.addActionListener(button);
C) 不需要改动代码,上述程序将按照要求正常运行得出结果
D) 按下面给出的,从init方法调用JApplet类的addActionListener方法
addActionListener(button);