开始学习监听器的时候觉得很迷茫。对于监听器的理解的迷迷糊糊的,总是感觉思路很乱,不知道到底监听的是哪,实现监听器的类为什么要写很多其他条件,总是在想其他条件是不是也是在监听之中的
后来通过对监听器的不断地应用,和看一些代码才慢慢的理解的监听器的用法
其实原来总是把监听源事件和监听器处理类中的条件搞混
我们在程序中加监听器基本思路就是
1、 —— 创建一个类来实现你所需要的监听器的接口,如果是多个监听器可以直接加逗号一起实现
而在其中我们要写的其实是指这个监听器监听的事件源发生指定的事件
后我们要进行的操作或者动作,及要触发的下一个事件!
~ 当然里面我们
或许会用到一些其他地方的判断,而这些判断只是
作为 触 发源事件之后我们想要触发下一 步操作的条件
就比如下面代码事件处理类中的两个JTextFiled虽然有他们中的内容的比
较,但是他们只是作为一个属性在事件处理类里从其他类中引入里面的、
内容,并不是监听他们中的内容作比较
——里面主要做的还是当监听对象触发事件后要做的下一步动作
2、 —— 在你要监听的事件源所在的类里实例化一个事件监听处理对象
然后把监听器绑定事件处理类对象
*************************************
这样监听器工作就是
当你绑定的事件源发生相应的事件后,程序就转入事件处理类中判断
事件源发生的动作首先找到相应动作的处理方法,然后执行里面的判断,找到
对应的条件然后执行下面的操作
**************——对下面的程序就是当点击登录按钮的时候,就出发了ActionListener,然后就
转入LoginListener中进行事件的处理,因为ActionListener就是当按钮按下
的 时候执行的,所以就直接是下面事件处理类中的方法,然后获取JTextfiled
的内容,找到相应的 if 然后执行下面的动作命令
~~~~~~~~~~~~~~~~
开始学的时候真的觉得挺迷茫的,现在懂了写出来感觉那时候的纠结真的挺幼稚
的,不过java的学习的确有时候我们开始学的时候真的不是很懂,我们其实有时候不用去想简单的语言去理解,只要多看看一些用到这些的代码应用,即便开始是生硬的套用,等用的多了自然也就慢慢的理解了
public class Login extends JFrame {
//主函数
public static void main(String [] args){
Login login = new Login();
login.init();
}
/**
* 初始化界面的方法
*/
public void init(){
//设置窗体的属性
this.setTitle("TEXT");
this.setSize(new Dimension(300,200));
this.setResizable(false);
this.setDefaultCloseOperation(3);
this.setLocationRelativeTo(null);
this.setLayout(new FlowLayout());
//添加账号和密码标签以及输入框对象
JLabel lblName = new JLabel("账号:");
JTextField txtName = new JTextField(20);
this.add(lblName);
this.add(txtName);
JLabel lblPwd = new JLabel("密码:");
JTextField txtPwd = new JTextField(20);
this.add(lblPwd);
this.add(txtPwd);
JButton btnLogin = new JButton("登录");
btnLogin.setActionCommand("Login");
this.add(btnLogin);
//创建一个事件处理类对象
LoginListener ll = new LoginListener(txtName,txtPwd);
//给事件源btnLogin添加一个动作监听器方法,绑定事件处理类对象
btnLogin.addActionListener(ll);
this.setVisible(true);
}
}
/**
* 登录事件的处理类
* @author Administrator
*
*/
public class LoginListener implements ActionListener {
private String name,pwd;
private JTextField txtName, txtPwd;
public LoginListener(JTextField txtName, JTextField txtPwd) {
this.txtName = txtName;
this.txtPwd = txtPwd;
}
/**
* 动作事件的处理方法
*/
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(e.getActionCommand());
//获取输入的账号和密码
name = txtName.getText();
pwd = txtPwd.getText();
//只要输入的账号和密码都是admin就显示画图界面
if(name.equals("admin") && pwd.equals("admin")) {
DrawFrame df = new DrawFrame();
df.init();
}else{
//如果输入的账号和密码不是admin就显示消息提示框
JOptionPane.showMessageDialog(null, "你输入的账号和密码不正确,请重新输入!");
}
}
}
分享到:
相关推荐
主要介绍了Java设计模式之监听器模式,结合实例形式较为详细的分析了java设计模式中监听器模式的概念、原理及相关实现与使用技巧,需要的朋友可以参考下
java一个监听器的例子
java监听器练习,java初学者!
主要给大家介绍了关于java监听器实现和原理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
java监听器和过滤器详解,详细而且简单,保证能看懂
2.1Java的时间监听机制涉及到三个组件:事件源、事件监听器、事件对象 2.2当事件源上发生操作时,它会调用事件监听器的一个方法,并且调用这个方法时,会传递事件对象过来 2.3事件监听器是由开
JAVA SESSION 监听器 有效监听服务器SESSION情况,当前登录用户等
简单的java监听器小练习,适合初学者!
java代码介绍按钮监听器的使用,使用简单的例子,详细生动的展示了监听器的使用。
是笔者学习java swing事件、监听器、接口方法的总结,希望对初学java者有所帮助,是word格式,希望有人进一步总结。
接下来的操作是:一个匹配的监听器必须被加入到该组件中 组件被创建之后,可以在组件上调用如下方法来将监听器与它联系起来 addActionListener( ) 可用于 Button,Check, TexyField 等组件 addAdjustmentListener...
java字符编码监听器
Java监听器添加 四种监听器 内部 外部 内部匿名 自身
监听器之定时器,写一个定时器的监听器,这个监听器每十秒向控制台输出一次时间信息 博客地址:https://blog.csdn.net/qq_36631076/article/details/80401609
Java的监听器种类,文档内详细描述了java各种监听器,能够让你在系统当中合理的去使用,从而提高系统的效率。
Java中滑块组件的变更监听器,详细介绍请看我的博客http://blog.csdn.net/zhai56565/article/details/8684093
java 常用事件及对应的监听器和方法,本人自己整理,希望给初学者提供参考
servelt 监听器 class MyRequest extends HttpServletRequestWrapper { public MyRequest(HttpServletRequest request) { super(request); } public String MyEncoding(String value) { String value...
自动监控USB设备,插上后自动复制指定类型文件到指定目录!后台运行,隐藏性能较好。
java实现监听数据库动态变化代码实例,很有参考意义。