`
湖大-软件-杨锦涛
  • 浏览: 7404 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JAVA事件机制

    博客分类:
  • JAVA
阅读更多

事件机制:
 关键词:事件源,监听器方法
 实现事件的流程:
  1.确定事件源
  2.给事件源添加监听器方法
  3.创建类事项对应接口,并实现抽象方法
  4.创建事件处理者的对象,讲对象绑定到监听器方法上

接下来明确关键字的定义:

(1)事件源:
 定义:所有触发对应动作的的图形界面组件对象(就是说动作发生
在谁上,谁就是事件源)

(2)监听器方法:对一个事件进行监听的对象,在事件源发生动作时,做出
反应。
 监听器类型:
addActionListener()   ActionListener  动作监听器接口
addMouseListener()  MouseListener  鼠标监听器接口
addMouseMotionListener() MouseMotionLIstener 鼠标移动监听器接口
addKeyListener()  KeyListener  键盘监听器接口

在监听器接到动作指令后便会调用一系列的方法,这就是监听器方法

(3)事件处理类:
 接口是不能实例化对象的,所以要一个类来实现它,然后再通过类
来调用接口中的抽象方法,这就是事件处理者

流程:确定事件源-->创建事件处理类-->实例化监听器-->绑定监听对象-->
动作命令出现-->触发事件源-->触发监听器-->实现监听器方法

以下为代码:实现界面登陆

界面实现:
package cn.xxj.lesson05;

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

/**
 * 简单登录界面类
 *
 * @author xxj
 *
 */
public class Login {
 // 程序的入口主函数
 public static void main(String[] args) {
  // 实例化一个Login类的对象
  Login log = new Login();
  // 调用初始化界面的方法
  log.initUI();
 }

 private JTextField jtePwd = null;
 
 // 初始化界面的方法
 public void initUI() {
  // 实例化一个JFrame类的对象
  JFrame jf = new JFrame();
  // 设置jf对象的属性值
  jf.setTitle("简单登录界面");// 设置标题
  // 设置jf对象的大小 单位是像素点
  jf.setSize(300, 200);
  // 设置禁止用户调整窗体的大小
  jf.setResizable(false);
  // 设置窗体显示在屏幕的中央
  jf.setLocationRelativeTo(null);
  // 设置关闭窗体的时候把程序退出
  jf.setDefaultCloseOperation(3);

  //实例化一个FlowLayout类的对象
  FlowLayout fl = new FlowLayout();
  //设置窗体的布局方式为流式布局
  jf.setLayout(fl);
  
  // 实例化一个JLabel对象
  JLabel jlaName = new JLabel("账号:");
  // 将对象添加到窗体上
  jf.add(jlaName);

  // 实例化一个JTextField对象
  JTextField jteName = new JTextField(20);
  
  jf.add(jteName);

  // 实例化一个JLabel对象
  JLabel jlaPwd = new JLabel("密码:");
  // 将对象添加到窗体上
  jf.add(jlaPwd);

  // 实例化一个JTextField对象
  jtePwd = new JTextField(20);
  jf.add(jtePwd);
  
  //实例化一个JButton类的对象
  JButton jbuLogin = new JButton("登录");
  jbuLogin.setActionCommand("Login");
  jf.add(jbuLogin);

  System.out.println("===>>>"+jtePwd);
  //实例化一个事件处理类的对象
  LoginListener ll = new LoginListener(jf,jteName,jtePwd);
  
  //给事件源添加监听器方法
  jbuLogin.addActionListener(ll);
  jtePwd.addActionListener(ll);


  // 设置窗体为可见的。
  jf.setVisible(true);

  String [] array = {
    "MC","MR","MS","M+"
  };
  for(int i=0;i<array.length;i++){
   JButton jbu = new JButton(array[i]);
   jf.add(jbu);
  }
 }

}

事件处理者:

package cn.yjt.study131109;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JTextField;

/**
 * 登录的事件处理者类,该类要实现ActionListener接口
 * @author xxj
 *
 */
public class LoginListener implements ActionListener {

 //定义账号和密码输入框对象属性
 private JTextField jteName,jtePwd;
 //登录界面窗体,现在是类的属性
 private JFrame login;
 
 /**
  * 构造方法
  * @param jteName账号输入框对象
  * @param jtePwd密码输入框对象
  */
 public LoginListener(JFrame login,JTextField jteName,JTextField jtePwd){
  this.jteName = jteName;
  this.jtePwd = jtePwd;
  this.login = login;
 }
 
 /**
  * 重写ActionListener接口中抽象事件处理方法。
  * @param e事件对象,事件对象中会存储事件源对象和事件源的动作命令字符串
  */
 @Override
 public void actionPerformed(ActionEvent e) {
  

  String name = jteName.getText();
  String pwd = jtePwd.getText();
  
  
  //输出 事件源的动作命令值。
  //System.out.println(e.getActionCommand());
  System.out.println("name = "+name+"    pwd = "+pwd);
  if(name.equals("admin") && pwd.equals("admin")){
   JFrame jf = new JFrame("登录成功");
   jf.setSize(new Dimension(600,500));
   jf.setDefaultCloseOperation(3);
   jf.setVisible(true);
   login.dispose();
  }else{
   JFrame jf = new JFrame("登录失败");
   jf.setSize(new Dimension(200,200));
   jf.setDefaultCloseOperation(3);
   jf.setVisible(true);
  }
 }

}


以上代码个人编写,如有雷同不胜荣幸!

分享到:
评论

相关推荐

    Java事件机制例子

    Java事件机制基于观察者模式,其中事件源(如按钮)会发布事件,而事件监听器则订阅这些事件并执行相应的操作。 事件、事件监听器和事件源是Java事件处理的三个核心概念。事件是用户或系统发生的某种情况,如鼠标...

    初步接触Java事件机制

    Java事件机制是Java编程中一个重要的概念,它主要用于处理用户界面(UI)的交互操作,如按钮点击、窗口改变等事件。在这个过程中,事件、事件源和事件监听器是核心概念。下面将详细阐述这些概念及其在实际开发中的...

    java中的事件机制

    Java中的事件机制是Java编程中一个重要的概念,它基于观察者模式(Observer Pattern)来实现对象之间的通信。观察者模式是一种行为设计模式,允许你定义一个订阅机制,可以在对象状态改变时通知多个“观察”该对象的...

    Java事件机制常见事件.doc

    Java事件机制常见事件.doc

    java事件处理机制Demo

    Java事件处理机制是Java编程中一个重要的组成部分,它主要用于实现用户界面(UI)与应用程序逻辑之间的交互。在Java中,事件处理主要涉及到事件源、事件和事件监听器。本示例"java事件处理机制Demo"将深入探讨Java的...

    java事件处理机制ppt

    Java事件处理机制是Java GUI编程中的核心组成部分,它允许程序响应用户的交互操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及三个关键角色:事件对象(Event Object)、事件源(Event Source)和事件...

    Java + C# 事件机制理解

    #### 一、Java事件机制 在Java中,事件处理通常遵循一种称为“发布者-订阅者”(Publisher-Subscriber)或“观察者模式”(Observer Pattern)的设计模式。这种模式使得一个对象(发布者)能够通知其他对象(订阅者...

    JAVA事件处理机制

    Java事件处理机制是Java编程中一个关键的概念,它主要用于用户界面(UI)应用程序,使得程序能够响应用户的操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及三个核心组件:事件源(Event Source)、事件...

    事件驱动模型实例详解(Java篇)

    ### 事件驱动模型实例详解(Java篇) #### 1. 事件驱动模型概念解析 事件驱动模型是现代软件开发中一种关键的编程模式,尤其在图形用户界面(GUI)编程中占据核心地位。该模型围绕三个核心概念构建:事件源、侦听...

    Java事件机制要素及实例详解

    Java事件机制是GUI编程中一个重要的概念,它允许程序对用户界面中的各种交互进行响应。在Java中,事件机制主要由三个核心要素组成:事件、事件源和事件监听器。 1. **事件**:事件是用户或系统进行的某种操作,如...

    java事件监听机制.doc

    java事件监听机制 java中的事件机制的参与者有3种角色: .event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中

    java事件处理机制

    java事件处理机制

    Java事件处理机制教学方法探讨.pdf

    为了让初学者更好理解Java事件处理机制及其编程技术,黄增喜、王晓明和于春三位作者提出了一个基于核心概念解析、事件处理流程分析以及角色分工清晰化的教学思路,并给出了相应的教学方法。以下是对这些知识点的详细...

    JAVA事件处理机制.ppt

    Java事件处理机制是Java开发GUI(图形用户界面)应用程序时不可或缺的部分,它使得程序能够响应用户的操作,如点击按钮、选择菜单项等。在Java中,事件处理主要涉及以下几个核心概念: 1. **事件(Event)**:事件...

    JavaGUI事件处理机制

    Java GUI事件处理机制是Java应用程序开发中的重要组成部分,主要用于响应用户在图形用户界面中的各种操作。这一机制采用了委托事件模型,使得程序结构清晰,易于扩展。下面将详细讲解这一机制的关键概念、工作流程...

    java事件处理机制详解

    Java事件处理机制是一种用于在组件之间传递和处理事件的机制,它是GUI编程中不可或缺的一部分。在Java中,事件处理涉及到三个关键角色:事件对象(Event Object)、事件源(Event Source)和事件监听器(Event ...

    用Java事件处理机制实现录制回放功能

    在本文中,我们将深入探讨如何利用Java事件处理机制实现录制和回放功能,这种功能常见于GUI测试工具中,用于捕获用户操作并在代码修改后自动回放这些操作。 1. Java 事件介绍 - **事件是什么**:在Java中,事件是...

    Java事件处理机制- 事件监听器的四种实现方式

    Java事件处理机制是Java GUI编程中的核心组成部分,它允许用户与界面元素进行交互。事件监听器是这一机制的关键,用于响应特定类型的事件。本文将详细解析Java事件处理机制中事件监听器的四种实现方式:自身类作为...

Global site tag (gtag.js) - Google Analytics