开始学习监听器的时候觉得很迷茫。对于监听器的理解的迷迷糊糊的,总是感觉思路很乱,不知道到底监听的是哪,实现监听器的类为什么要写很多其他条件,总是在想其他条件是不是也是在监听之中的
后来通过对监听器的不断地应用,和看一些代码才慢慢的理解的监听器的用法
其实原来总是把监听源事件和监听器处理类中的条件搞混
我们在程序中加监听器基本思路就是
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.util.Timer`类、`java.util.TimerTask`类以及Java 8引入的`java.time`包中的接口来实现时间监听功能。下面将详细介绍这些方法。 1. **使用Timer和TimerTask** `java.util.Timer`类...
这个例子将探讨如何在Java中使用监听器,特别是事件监听器,它们是Java Swing和Java AWT库中用于图形用户界面(GUI)交互的核心组成部分。 首先,我们需要了解Java中的事件模型。Java事件模型基于发布/订阅原则,...
Java监听器是一种非常重要的设计模式,在Java中广泛应用于事件驱动编程。监听器模式的主要思想是将事件源和事件处理器分离,使得事件源可以独立于事件处理器,提高了系统的灵活性和可扩展性。 Java监听器的实现...
这个项目“java监听器+quartz实现每天动态时间执行任务的功能”是结合了Java的监听器机制和Quartz定时任务框架来完成这样的需求。下面将详细解释这两个关键知识点。 **Java监听器** Java监听器是Java AWT和Swing库...
Java中的监听器机制是基于观察者模式的设计模式之一,广泛应用于图形用户界面(GUI)应用程序中。 #### 二、监听器的基本组成部分 监听器通常包括以下几个部分: 1. **事件源(Event Source)**:触发事件的对象,如...
【JAVA USB监听器】是一种基于Java编程语言实现的软件工具,其主要功能是对USB设备进行实时监控,当USB设备插入时,能够自动检测并复制指定类型的文件到预先设定的目录中。这种工具对于需要频繁从USB设备中获取特定...
在Java中,监听器是一种用于处理事件的机制。当某个特定类型的事件发生时,监听器会执行相应的操作。这种机制广泛应用于图形用户界面(GUI)编程中,使得程序能够响应用户的交互行为。 #### 二、监听器实现步骤 ...
在Java中,监听器通常通过以下步骤添加到组件上: 1. 创建一个实现了所需监听器接口的类实例。 2. 将监听器实例添加到需要监听的组件上,这通常通过调用组件的`addXXXListener()`方法完成。 例如,为一个按钮添加...
在Java中,通过实现HttpSessionListener或HttpSessionAttributeListener接口来创建Session监听器。HttpSessionListener提供了对Session创建、销毁事件的监听,而HttpSessionAttributeListener则可以监听Session属性...
2.1Java的时间监听机制涉及到三个组件:事件源、事件监听器、事件对象 2.2当事件源上发生操作时,它会调用事件监听器的一个方法,并且调用这个方法时,会传递事件对象过来 2.3事件监听器是由开
JAVA事件监听器是JAVA语言中的一种机制,它允许程序员在特定的事件发生时执行某些操作。事件监听器的实现方式有多种,本篇文章将介绍四种常见的事件监听器实现方式:自身类作为事件监听器、外部类作为事件监听器、...
### Java的监听器种类 Java中的监听器是一种特殊类型的对象,它们主要负责监听特定的事件并在这些事件发生时执行相应的动作...理解并熟练掌握这些监听器的工作原理及其使用方法对于成为一名优秀的Java开发者至关重要。
java 过滤器和监听器
在本篇文章中,我们将深入探讨Java中滑块组件的变更监听器以及如何使用它们。 首先,滑块组件(JSlider)的核心功能在于它的事件处理。当用户改变滑块的位置时,系统会产生一个ChangeEvent事件。为了监听这种变化,...
在Java中,监听器(Listener)是事件处理机制的重要组成部分,它主要用于响应用户或其他组件产生的事件。根据实现方式的不同,可以将监听器分为几种类型:内部类监听器、外部类监听器、内部匿名类监听器以及自身监听...
下面是 Java Swing 中常用的事件和监听器接口。 1. AncestorEvent 和 AncestorListener AncestorEvent 是一种报告给子组件的事件,该事件指示子组件的添加、移除或移动操作。AncestorListener 是对应的监听器接口...
在Java编程中,监听数据库的变化是一项重要的任务,特别是在实时数据处理和系统监控的场景下。以下将详细讲解如何使用Java实现数据库监听,并提供一个代码实例作为参考。 首先,要实现数据库监听,我们需要理解两种...
java代码介绍按钮监听器的使用,使用简单的例子,详细生动的展示了监听器的使用。
在Android平台上,开发Java应用程序时,我们经常需要处理与文件系统相关的任务,其中之一就是实现文件监听器。这个功能允许我们实时监控一个特定的文件夹,一旦该文件夹中有新的文件出现,程序可以立即做出响应,...