我对Java听不到的事情感到有点困惑.
但我知道它会做GUI事件.
我错过了什么吗?java有事件处理机制吗?
我知道我可以实现发布者订阅者模式,但我正在寻找Java中的本机支持.
我似乎记得Java 5或6中有关Java添加事件的内容,但我不记得我在哪里听到这个并且我可能正在编写它.
基本上我将设备包装在java类中,设备会抛出事件,而我正在寻找最合理的方式来揭示它.我来自.Net背景,我正在寻找像.Net(C#)中的事件
任何帮助,将不胜感激.
我一直在努力了解事件/代表,但我对两者之间的关系感到困惑.我知道委托允许您调用不同的函数,而无需知道调用的是什么特定函数.(例如:图形函数需要接受要绘制的不同函数的输入).
但我没有看到代表如何在事件中使用.
有人可以构建一个简单的示例(伪代码或C#或Java),说明代理与事件相关的工作方式吗?
谢谢!
C#具有语言级别的事件概念,使用保留关键字event
并delegate
定义发布者和订阅者方法.有人问过Java是否有本机支持,但答案显然是否定的.有几种选择,包括使用AWT/Swing样式事件,构建我自己的Observer模式或使用其他发布/订阅方式.这是可能的,但正如一个答案所说,"只需要更多的腿部工作."
通常,任何实现都遵循相同的类型方法并且可以是自动化的.Java具有不同的元编程机制,例如AOP或AST转换.如何在Java中实现C#事件以允许尽可能少的"legwork"?