//你的程序有问题,请坐如下改动
import java.awt.*;
import java.net.*;
import java.applet.*;
import java.awt.event.*;public class Applet1 extends Applet implements ActionListener
// ^^^^^^^^^^^^^^^^^^^^^^^^^^
{
Button btn;
public void init(){
btn = new Button ("确定");
add(btn);
btn.addActionListener (this);
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
}
public void actionPerformed(ActionEvent evt)
{
if(evt.getSource()==btn)
btn.setEnabled (false);
}
}
import java.awt.*;
import java.net.*;
import java.applet.*;
import java.awt.event.*;public class Applet1 extends Applet implements ActionListener
// ^^^^^^^^^^^^^^^^^^^^^^^^^^
{
Button btn;
public void init(){
btn = new Button ("确定");
add(btn);
btn.addActionListener (this);
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
}
public void actionPerformed(ActionEvent evt)
{
if(evt.getSource()==btn)
btn.setEnabled (false);
}
}
btn.addActionListener(this);<---------------添上这句试试
add(btn);
public class Applet1 extends Applet
{
Button btn;
public void init(){
btn = new Button ("确定");
add(btn);
}//public void actionPerformed(ActionEvent evt) ==>
public boolean action(Event evt, Object arg)
{
if(evt.target.equals(btn))
btn.setEnabled (false);
else
return super.action(evt, arg); // 要考虑缺省处理。
return true; // 已自行处理后返回TRUE
}
}而如果要采用JDK1.1+的事件处理方式程序要改写如下:
public class Applet1 extends Applet
{
Button btn;
public void init(){
btn = new Button ("确定");
// 给btn增加一个ActionListener,这个实现是用一个内部类,也可以干脆采用匿名类。
btn.addActionListener(new Btn());
add(btn);
}// ActionListener 的具体实现
class Btn implements ActionListener {
public void actionPerformed(ActionEvent evt)
{
// 无需判断事件来源,因为来源我们早就知道了!
btn.setEnabled (false);
}
}
}