日期:2014-05-20  浏览次数:20728 次

applet中的监听器
import   java.applet.*;
import   java.awt.*;
import   java.awt.event.*;
public   class   NewApplet   extends   java.applet.Applet   {
        TextField   text1,text2;
        Button   button1;
        PP   p;
        public   void   init()   {
              text1=new   TextField(10);
              text2=new   TextField(10);
              button1=new   Button( "yes ");
              p=new   PP(this);
              add(text1);add(text2);add(button1);
              text1.addActionListener(p);
        }
}

class   PP   implements   ActionListener
{
        NewApplet   a;
        PP(NewApplet   a)
        {
                this.a=a;
        }
        public   void   actionPerformed(ActionEvent   e)
        {
                if(e.getSource()==a.text1)
                {
                        a.text2.setText(a.text1.getText());
                }
        }
}

求各位大大帮我分析一下
如果p=new   PP(this);改成p=new   PP();
再把PP的构造函数删除后,为什么事件就无法响应了
也就是说为什么要用p=new   PP(this);这句?


------解决方案--------------------
改成p=new PP();
就没有传递参数过去
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==a.text1)
{
a.text2.setText(a.text1.getText());
}
}这个方法就费掉 了 当然就不能监听拉