1.事件源对象
事件源对象:可以接受鼠标,键盘操作的组件。
可以成为事件源对象的组件:
所有的图形界面组件都可以成为事件源对象。
如何确定事件源对象?
答:发生的动作在哪一个组件对象上,那么该组件对象就是事件源对象。
如:如果鼠标在“登录”按钮是点了一下,则“登录”按钮就是事件源对象。
如果鼠标在空白的面板上点击了一下,则这个面板就是事件源对象。
2.事件源的监听方法与它匹配的事件接口
在事件源上发生一个动作(操作),想让事件源知道发生了动作需要给事件源对象添加事件监听器方法。
事件源对象.addActionListener(ActionListener al);
ActionListener是动作事件接口
注意:
1.在输入框事件源对象中只能捕获回车键
2.在按钮事件源对象中只能捕获鼠标点击操作。
事件源对象.addMouseListener();
事件源对象.addMouseMotionListener();
事件源对象.addKeyListener();
3.事件处理对象(类实现事件接口)
执行事件的最终处理者要执行对应的处理结果,那么就必须实现事件接口中的抽象方法,在方法中完成你要实现的代码。
例如:public void actionPerformed(ActionEvent e){
System.out.println("按下了一个"+e.getActionCommand()+"按钮");
String t=txt.getText();
String j=jpf.getText();
if(t.equals("zhaoqing")&&j.equals("123")){
javax.swing.JFrame jj=new javax.swing.JFrame("登陆成功");
jj.setSize(200,200);
jj.setLocation(200,300);
jj.setDefaultCloseOperation(3);
jj.setVisible(true);
}
else{
JOptionPane.showMessageDialog(null,
"你的输入的账号和密码错误,请重新输入!");
}
}
actionPerformed(ActionEvent e)是接口中的抽象方法,当类实现这个接口时要实现方法,写出方法的具体代码。
4.事件流程
当在事件源上发生相应的动作时,那么事件源上的监听方法就能捕获到所发生的动(收集事件源对象的信息(文本,事件源对象)),交给事件处理类对象,事件处理类对象就会自动的调用对应的事件方法,执行方法中的内容。
例如:给“登录”按钮、用户名输入框和密码输入框都加了动作监听器,方法内容如上,如果在用户名对应的文本框中输入“zhangqing”,再密码框对应的文本框中输入“123”点击回车键或登录键,就会出现一个登录成功的界面。如果输入不匹配就会弹出一个“你的输入的账号和密码错误,请重新输入!”的界面。
5.参数传递
事件机制中参数传递主要是使用构造方法进行传递。一般传递的都是地址。
例如:Graphics g=this.getGraphics();
DrawingListener dl=new DrawingListener(g,this);
这就是地址传递。实例化一个Graphics类的对象g,把该对象g的地址传递给了DrawingListener类的对象dl。
事件源对象:可以接受鼠标,键盘操作的组件。
可以成为事件源对象的组件:
所有的图形界面组件都可以成为事件源对象。
如何确定事件源对象?
答:发生的动作在哪一个组件对象上,那么该组件对象就是事件源对象。
如:如果鼠标在“登录”按钮是点了一下,则“登录”按钮就是事件源对象。
如果鼠标在空白的面板上点击了一下,则这个面板就是事件源对象。
2.事件源的监听方法与它匹配的事件接口
在事件源上发生一个动作(操作),想让事件源知道发生了动作需要给事件源对象添加事件监听器方法。
事件源对象.addActionListener(ActionListener al);
ActionListener是动作事件接口
注意:
1.在输入框事件源对象中只能捕获回车键
2.在按钮事件源对象中只能捕获鼠标点击操作。
事件源对象.addMouseListener();
事件源对象.addMouseMotionListener();
事件源对象.addKeyListener();
3.事件处理对象(类实现事件接口)
执行事件的最终处理者要执行对应的处理结果,那么就必须实现事件接口中的抽象方法,在方法中完成你要实现的代码。
例如:public void actionPerformed(ActionEvent e){
System.out.println("按下了一个"+e.getActionCommand()+"按钮");
String t=txt.getText();
String j=jpf.getText();
if(t.equals("zhaoqing")&&j.equals("123")){
javax.swing.JFrame jj=new javax.swing.JFrame("登陆成功");
jj.setSize(200,200);
jj.setLocation(200,300);
jj.setDefaultCloseOperation(3);
jj.setVisible(true);
}
else{
JOptionPane.showMessageDialog(null,
"你的输入的账号和密码错误,请重新输入!");
}
}
actionPerformed(ActionEvent e)是接口中的抽象方法,当类实现这个接口时要实现方法,写出方法的具体代码。
4.事件流程
当在事件源上发生相应的动作时,那么事件源上的监听方法就能捕获到所发生的动(收集事件源对象的信息(文本,事件源对象)),交给事件处理类对象,事件处理类对象就会自动的调用对应的事件方法,执行方法中的内容。
例如:给“登录”按钮、用户名输入框和密码输入框都加了动作监听器,方法内容如上,如果在用户名对应的文本框中输入“zhangqing”,再密码框对应的文本框中输入“123”点击回车键或登录键,就会出现一个登录成功的界面。如果输入不匹配就会弹出一个“你的输入的账号和密码错误,请重新输入!”的界面。
5.参数传递
事件机制中参数传递主要是使用构造方法进行传递。一般传递的都是地址。
例如:Graphics g=this.getGraphics();
DrawingListener dl=new DrawingListener(g,this);
这就是地址传递。实例化一个Graphics类的对象g,把该对象g的地址传递给了DrawingListener类的对象dl。