C#:

 using System;
using System.Collections.Generic;
using System.Text; namespace Test1
{
class Program
{
/// <summary>
/// 主函数
/// </summary>
/// <param name="args">参数</param>
static void Main(string[] args)
{
EventSourceObject obj = new EventSourceObject();
obj.Name = "Child";
obj.Wakeup += new WakeupEventDelegate(obj_Wakeup);
obj.DoWakeup();
System.Console.Read();
} static void obj_Wakeup(object sender)
{
System.Console.WriteLine(((EventSourceObject)sender).Name + " wakeup.");
}
} /// <summary>
/// 唤醒事件委托
/// </summary>
/// <param name="sender">发送源</param>
public delegate void WakeupEventDelegate(object sender); /// <summary>
/// 事件源对象
/// </summary>
public class EventSourceObject
{
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; } /// <summary>
/// 唤醒事件
/// </summary>
public event WakeupEventDelegate Wakeup; /// <summary>
/// 唤醒(触发事件)
/// </summary>
public void DoWakeup()
{
System.Console.WriteLine("Parent wakeup.");
if (Wakeup != null)
{
Wakeup(this);
}
}
}
}

Java:

 import java.util.EventListener;
import java.util.EventObject; public class Main {
/*
* 主函数
*/
public static void main(String[] args){
EventSourceObject obj = new EventSourceObject();
obj.setName("Child");
// 注册事件
obj.setWakeupListener(new WakeupEventListener(){
@Override
public void fireEvent(WakeupEvent e){
super.fireEvent(e);
System.out.println(((EventSourceObject)e.getSource()).getName() + " wakeup.");
}
});
// 触发事件
obj.wakeup();
}
}
/*
* 定义唤醒事件
*/
class WakeupEvent extends EventObject{
private static final long serialVersionUID = 1L;
public WakeupEvent(Object source){
super(source);
}
}
/*
* 定义唤醒事件监听
*/
class WakeupEventListener implements EventListener{
public void fireEvent(WakeupEvent e){
System.out.println("Parent wakeup.");
}
}
/*
* 定义事件源对象
*/
class EventSourceObject{
private String name;
private WakeupEventListener listener;
/*
* 获取名称
*/
public String getName(){
return this.name;
}
/*
* 设置名称
*/
public void setName(String name){
this.name = name;
}
/*
* 设置唤醒事件监听
*/
public void setWakeupListener(WakeupEventListener listener){
this.listener = listener;
}
/*
* 唤醒(触发事件)
*/
public void wakeup(){
this.listener.fireEvent(new WakeupEvent(this));
}
}

c#与Java事件定义的不同的更多相关文章

  1. Java 事件机制

    java事件机制包括三个部分:事件.事件监听器.事件源. 1.事件.一般继承自java.util.EventObject类,封装了事件源对象及跟事件相关的信息,用于listener的相应的方法之中,作 ...

  2. JAVA事件监听机制学习

    //事件监听机制 import java.awt.*; import java.awt.event.*; public class TestEvent { public static void mai ...

  3. Java语言定义的线程状态分析

    说到线程,一定要谈到线程状态,不同的状态说明线程正处于不同的工作机制下,不同的工作机制下某些动作可能对线程产生不同的影响. Java语言定义了6中状态,而同一时刻,线程有且仅有其中的一种状态.要获取J ...

  4. java事件监听机制

    1.简单的事件监听 package demo2; /* * java事件监听机制 */ import java.awt.*; import javax.swing.*; import java.awt ...

  5. Java事件监听器的四种实现方式

    自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: import javax.swing.*; import java.awt.*; i ...

  6. Java事件监听的四种实现方式

    1.事件对象: 一般继承自java.util.EventObject对象,由开发者自行定义. 2.事件源: 就是触发事件的源头,不同的事件源会触发不同的事件类型. 3.事件监听器: 事件监听器负责监听 ...

  7. java事件监听机制2

    今天早上的两点收获: 1.addActionListener(其中的setActionCommand函数就是要对对象进行唯一性的标记,便于消息传来后进行处理.理论上actionlistener可以全部 ...

  8. JAVA事件监听机制的实现

    今天学习了java的事件编程机制,略有体会,先在此记下心得. 第一,首先明确几个概念. 事件源:一个产生或者触发事件的对象.事件:承载事件源状态改变时的信息对象.事件监听器接口:实际上就是一个类,该类 ...

  9. java 事件监听 - 鼠标

    java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1.MouseListener 普通的鼠标操作 //2.MouseMotionListener 鼠标的 ...

随机推荐

  1. LeetCode OJ:Lowest Common Ancestor of a Binary Search Tree(最浅的公共祖先)

    Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BS ...

  2. 【转】Python获取当前系统时间

    转自:https://www.cnblogs.com/-ldzwzj-1991/p/5889629.html 取得时间相关的信息的话,要用到python time模块,python time模块里面有 ...

  3. HDU4585 Shaolin (STL和treap)

    Shaolin HDU - 4585       Shaolin temple is very famous for its Kongfu monks.A lot of young men go to ...

  4. GO语言heap剖析及利用heap实现优先级队列

    GO语言heap剖析 本节内容 heap使用 heap提供的方法 heap源码剖析 利用heap实现优先级队列 1. heap使用 在go语言的标准库container中,实现了三中数据类型:heap ...

  5. 【ASP.NET Web API2】利用HttpClient调用Web API(TODO)

    参照: 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用 纯属记录一下遇到的问题: 我们利用HttpClient来调用自宿主方式寄宿的Web API.HttpCl ...

  6. mongo之map-reduce笔记

    package com.sy.demo; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import ...

  7. MQTT协议通俗讲解

    参考 Reference v3.1.1 英文原版 中文翻译版 其他资源 网站 MQTT官方主页 Eclipse Paho 项目主页 测试工具 MQTT Spy(基于JDK) Chrome插件 MQTT ...

  8. Elasticsearch的过滤查询

    声明:我使用的elasticsearch的版本是5.4.0,具体参考下面的链接 https://www.elastic.co/guide/en/elasticsearch/reference/5.4/ ...

  9. Java-API:java.util.list

    ylbtech-Java-API:java.util.list 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 1. https://docs.oracle.co ...

  10. SQL 由人员汇总到部门树递归合计总数函数

    1.由人员计算出总数,在部门树(tree)按结构汇总(主父绑定) CREATE function [dbo].[GetEmpDepNum] ( @ID int ) RETURNS @Tree Tabl ...