java中要实现一个事件,必须要向触发事件的对象注册
如Button类的对象 b1要触发一个点击事件,就要向b1注册:b1.addActionLIstener(object);
其中object是 事件响应类的对象
事件响应类继承自ActionListener类,需要重写actionPerformed(ActionEvent e);函数
actionPerformed函数实现了发生事件后要做什么
示例:
import
java.awt.
*
;
import java.awt.event. * ;
public class EventTest extends Frame ... {
Button b1=new Button("Click Me");
public FrameTest() ...{
setTitle("FrameTest");
setLayout(new FlowLayout());
setSize(250,200);
add(b1);
b1.addActionListener(new ActionListener() ...{
public void actionPerformed(ActionEvent e) ...{
System.out.println("b1 was pressed");
}
});//内部匿名类用来实现事件的响应
}
public static void main(String[] args) ...{
FrameTest f1=new FrameTest();
f1.setVisible(true);
}
}
import java.awt.event. * ;
public class EventTest extends Frame ... {
Button b1=new Button("Click Me");
public FrameTest() ...{
setTitle("FrameTest");
setLayout(new FlowLayout());
setSize(250,200);
add(b1);
b1.addActionListener(new ActionListener() ...{
public void actionPerformed(ActionEvent e) ...{
System.out.println("b1 was pressed");
}
});//内部匿名类用来实现事件的响应
}
public static void main(String[] args) ...{
FrameTest f1=new FrameTest();
f1.setVisible(true);
}
}
为了方便一般把事件响应类写成内部匿名类
也可以不匿名 萝卜白菜 各有所爱