ActionEvent事件
ActionEvent可能是使用得最多的事件类型,其对应的监听器是ActionListener接口,该监听器接口的实现类必须重写actionPerformed方法,当事件发生时就会调用该方法。
这个方法的原型是:public void actionPerformed(ActionEvent e); 这个actionPerformed方法就是当事件发生时,由系统自动调用的方法,因此我们希望事件发生时需要做的业务逻辑可以写在这个方法中,但是这个方法我们只需要重写即可,不需要调用,因为它是一个回调方法。
我们在14.4章节中使用Swing的常用控件实现了一个用户登录的静态界面,但是没用功能(点击按钮没有产生任何事件),现在我们可以使用事件模型一起完成如下功能:
1. 按下退出按钮时,应用程序结束。
2. 按下登录按钮时,如果用户姓名是zhangsan,并且密码是sxt,那么登录界面消失,出现一个对话框,显示“欢迎您:zhangsan”,否则显示一个对话框,显示“用户姓名或密码错误”。
具体代码如示例1 ~ 示例4所示。
【示例1】ActionEvent事件—窗口类
package cn.sxt.actionevent.views;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import cn.sxt.actionevent.listeners.LoginFrame_btnLogin_ActionListener;
import cn.sxt.actionevent.listeners.LoginFrame_btnQuit_ActionListener;
/**
* 登陆窗口
* @author 高淇
*/
public class LoginFrame extends JFrame {
private JPanel pnlMain;
// 标签控件
private JLabel lblTitle;
private JLabel lblUserName;
private JLabel lblUserPwd;
// 输入用户名的文本框控件
private JTextField txtUserName;