2013.07.16
上课内容:事件机制
这节课我们要讲的是事件机制。所谓事件,就是我们平时生活的分割,我们所做的每一件事都可以称为事件,例如一个小球落到地面弹起等。那么我们这里要讲的事件机制是建立在图形界面上,当我们用鼠标点击一个按钮,当我们按下一个键盘上的按钮,都可以设置一个监听器来监视这个事件是否发生,然后进行相应的处理。
总结一下,事件源就是发生事件的对象,比如小球落到地面弹起,小球就是事件源。在java里,你的事件发生在哪个组件上,那个组件就是事件源。这里我们要注意一点:只有图形界面组件才能成为事件对象。那么事件监听方法就是用来捕获事件源上发生的动作。比如你按了一下按钮,那么监听器就会捕获你这个动作,然后做响应的处理。在事件源上发生事件的时候,会激活监听器方法,让监听器方法去调用事件处理类的对象,从而根据事件做出相应的操作。
这节课的练习就是根据以前制作的简单QQ登陆界面,我们给登陆按钮加了一个监听器,从上面的复选框和密码输入框获取用户账号和密码。当帐号和密码输入正确时弹出登陆成功,当帐号和密码输入错误时弹出登陆失败。
首先我们建立监听器:
public class LoginListener implements ActionListener{
private JComboBox<String> jc;
private JPasswordField jp;
//建立构造函数,传入复选框和密码框
public LoginListener(JComboBox<String> jc,JPasswordField jp){
this.jc = jc;
this.jp = jp;
}
//重写actionPerformed方法
public void actionPerformed(ActionEvent e) {
//获取复选框的字符串
String name = jc.getSelectedItem().toString();
//获取密码框的字符串
String password = jp.getText();
//如果帐号和密码都符合
if(name.equals("444910865")&&password.equals("123456")){
//弹出登陆成功
JOptionPane.showMessageDialog(null, "登陆成功!");
}else{
//否则弹出登陆失败
JOptionPane.showMessageDialog(null, "登陆失败!");
}
}
}
然后,我们只需要在界面中建立监听器,并把监听器加在按钮上就ok啦~
LoginListener ll = new LoginListener(jco,jpaName);
jbuLogin.addActionListener(ll);
学会事件机制以后,我们就可以做很多东西,我会在接下来一段时间里一一展示我的作品,敬请期待~~