欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java入门总结------Swing中的事件处理机制 博客分类: Java编程语言入门 swingJava入门事件处理Swing中事件处理 

程序员文章站 2024-03-25 20:22:16
...
                                                                                  Swing中的事件处理以及参数传递
1.事件的概念:
  事件处理是界面处理的基本功能,当用户点击鼠标或者按下键盘时,Swing界面上获得焦点的组件都会收到一个事件通知,这个事件通知是Swing体系内部发出的,界面就会根据收到的事件通知,做出相应的处理,比如弹出对话框或者读取用户输入。
2.事件处理流程:
  (1)明确事件源(2)为事件源添加事件监听方法(3)事件处理:自定义事件处理类,实现对应的接口,实现该接口的抽象方法
    1)事件源
       所有的图形界面组件对象都可以成为事件源对象。
如何确定某一个组件是事件源对象?
动作发生在哪一个组件上,那么该组件就是一个事件源对象。
Java入门总结------Swing中的事件处理机制
            
    
    博客分类: Java编程语言入门 swingJava入门事件处理Swing中事件处理 
        比如如上一个模拟QQ登陆界面,我要登录QQ,就会去点击登录按钮,那么登录按钮就是这个登录事件的事件源
    2)事件监听方法
       监听器方法根据发送的动作来确定。
假设发生一个鼠标点击的动作,那么要给事件源添加鼠标的监听器方法。
假设你想让事件源获取焦点时,执行某一件事情,那么你就要给事件源添加焦点事件监听器方法。
addActionListener() ActionListener 动作监听器接口
addMouseListener() MouseListener 鼠标监听器接口
addMouseMotionListener() MouseMotionLIstener 鼠标移动监听器接口
addKeyListener() KeyListener 键盘监听器接口
        再如上QQ界面,明确事件源是登录按钮之后,就要给该按钮添加对应的监听器,因为发生的是鼠标点击事件,因此给按钮添加鼠标监听器
JButton jblogin = new JButton("登      " +
				" 录");
		//设置事件监听
		LoginActionListener lal = new LoginActionListener(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入门总结------Swing中的事件处理机制
            
    
    博客分类: Java编程语言入门 swingJava入门事件处理Swing中事件处理 
  • 大小: 78.3 KB

上一篇: Cocos2dx <基础> 帧动画

下一篇: