发布日期:2023-03-31来源:武汉北大青鸟武汉校区作者:武汉宏鹏
【java swing教程:Swing中的事件处理流程】在java知识领域里,多半是用可以撰写跨平台应用软件面向对象的程序设计语言。北大青鸟光谷校区是专业的计算机培训学校,并连续获得国教学质量大奖,可以见得该校区的专业实力还是有的。因此,北大青鸟光谷校区在毕业季,为大学生分享java软件开发专业知识,Swing中的事件处理流程,希望帮助大家学习到更多需要的内容!
Swing事件的概念
事件处理是界面处理的基本功能,当用户点击鼠标或者按下键盘时,Swing界面上获得焦点的组件都会收到一个事件通知,这个事件通知是Swing体系内部发出的,界面就会根据收到的事件通知,做出相应的处理,比如弹出对话框或者读取用户输入。
Swing事件处理流程
(1)明确事件源(2)为事件源添加事件监听方法(3)事件处理:自定义事件处理类,实现对应的接口,实现该接口的抽象方法
1)事件源
所有的图形界面组件对象都可以成为事件源对象。
如何确定某一个组件是事件源对象?
动作发生在哪一个组件上,那么该组件就是一个事件源对象。
比如如上一个模拟QQ登陆界面,我要登录QQ,就会去点击登录按钮,那么登录按钮就是这个登录事件的事件源
2)事件监听方法
监听器方法根据发送的动作来确定。
假设发生一个鼠标点击的动作,那么要给事件源添加鼠标的监听器方法。
假设你想让事件源获取焦点时,执行某一件事情,那么你就要给事件源添加焦点事件监听器方法。
addActionListener() ActionListener 动作监听器接口
addMouseListener() MouseListener 鼠标监听器接口
addMouseMotionListener() MouseMotionLIstener 鼠标移动监听器接口
addKeyListener() KeyListener 键盘监听器接口
1 2 3 4 5 | JButton jblogin = new JButton("登 " + " 录"); //设置事件监听 LoginActionListener lal = newLoginActionListener(login_num,password);//实例化一个监听器 jblogin.addActionListener(lal);//给登录按钮jblogin添加鼠标监听器 |
再如上QQ界面,明确事件源是登录按钮之后,就要给该按钮添加对应的监听器,因为发生的是鼠标点击事件,因此给按钮添加鼠标监听器
3)事件处理
其实上边的代码中LoginActionListener就是一个事件处理类,它实现了鼠标监听器接口ActionListener,并实现了其抽象方法,代码如下
12345678910111213141516171819202122232425262728293031 | 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中的事件处理流程的知识点,希望各位已经灵活运用。如果还有不清楚的地方可以直接联系我们的在线咨询课程顾问为你们答疑解惑!
Copyright (c) 2006-2023 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.