java新手入门介绍-Swing中的事件处理以及参数传递

时间:2013-11-21 栏目:java技术 阅读:0 作者:武汉宏鹏教育官方网站

  java新手入门介绍-Swing中的事件处理以及参数传递

  1.事件的概念:

  事件处理是界面处理的基本功能,当用户点击鼠标或者按下键盘时,Swing界面上获得焦点的组件都会收到一个事件通知,这个事件通知是Swing体系内部发出的,界面就会根据收到的事件通知,做出相应的处理,比如弹出对话框或者读取用户输入。

  2.事件处理流程:

  (1)明确事件源(2)为事件源添加事件监听方法(3)事件处理:自定义事件处理类,实现对应的接口,实现该接口的抽象方法

  1)事件源

  所有的图形界面组件对象都可以成为事件源对象。

  如何确定某一个组件是事件源对象?

  动作发生在哪一个组件上,那么该组件就是一个事件源对象。

 

  比如如上一个模拟QQ登陆界面,我要登录QQ,就会去点击登录按钮,那么登录按钮就是这个登录事件的事件源

  2)事件监听方法

  监听器方法根据发送的动作来确定。

  假设发生一个鼠标点击的动作,那么要给事件源添加鼠标的监听器方法。

  假设你想让事件源获取焦点时,执行某一件事情,那么你就要给事件源添加焦点事件监听器方法。

  addActionListener() ActionListener 动作监听器接口

  addMouseListener() MouseListener 鼠标监听器接口

  addMouseMotionListener() MouseMotionLIstener 鼠标移动监听器接口

  addKeyListener() KeyListener 键盘监听器接口

  再如上QQ界面,明确事件源是登录按钮之后,就要给该按钮添加对应的监听器,因为发生的是鼠标点击事件,因此给按钮添加鼠标监听器

  JButton jblogin = new JButton("登 " +

  " 录");

  //设置事件监听

  LoginActionListener lal = newLoginActionListener(login_num,password);//实例化一个监听器

  jblogin.addActionListener(lal);//给登录按钮jblogin添加鼠标

  监听器

  3)事件处理

  其实上边的代码中LoginActionListener就是一个事件处理类,它实现了鼠标监听器接口ActionListener,并实现了其抽象方法,代码如下

  package cn.xwy.lesson131109;

  import java.awt.event.ActionEvent;

  import java.awt.event.ActionListener;

  import javax.swing.JComboBox;

  import javax.swing.JOptionPane;

  import javax.swing.JPasswordField;

  /**

  * 鼠标事件处理类

  * @author se7en

  */

  //实现了鼠标事件监听器接口

  public class LoginActionListener implements ActionListener {

  private JComboBox login_num;

  private JPasswordField password;

  public LoginActionListener(JComboBox login_num,JPasswordField password){

  this.login_num = login_num;

  this.password = password;

  }

  //实现接口中的抽象方法

  public void actionPerformed(ActionEvent e) {

  String temp_login = (String)login_num.getSelectedItem();

  String temp_password =(String) password.getText();

  if(temp_login.equals(temp_password)){

  JOptionPane.showMessageDialog(null,"登录成功!");

  }else{

  JOptionPane.showMessageDialog(null,"账号或密码错误!!");

  }

  }

  }

       武汉宏鹏教育java培训课程免费试读申请:17740513250.

专业老师指导

赵老师

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

立即在线咨询

培训咨询客服

陈老师

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑

立即在线咨询

热门课程任你选,成长蜕变看的见

课程余量有限,即将截止报名!查看详情