Java相当于Cocoa NSNotification?

Java相当于Cocoa NSNotification?,第1张

概述我正在使用SWT小部件编写 Java应用程序.我想在某个事件发生时更新某些小部件的状态(例如,更新数据模型的状态). Java中是否存在类似于Cocoa的NSNotificationCenter的东西,我可以在其中注册一个对象来监听通知事件并对它们做出响应,以及让其他对象“触发”通知? 好吧,假设您的计算机开始扫描时,以及完成扫描时(不要担心加载程序是什么,或扫描的内容),您希望程序的某些部分得到 我正在使用SWT小部件编写 Java应用程序.我想在某个事件发生时更新某些小部件的状态(例如,更新数据模型的状态).

Java中是否存在类似于Cocoa的NSNotificationCenter的东西,我可以在其中注册一个对象来监听通知事件并对它们做出响应,以及让其他对象“触发”通知?

解决方法 好吧,假设您的计算机开始扫描时,以及完成扫描时(不要担心加载程序是什么,或扫描的内容),您希望程序的某些部分得到通知,这些是来自我上一份工作中的一些代码.你定义一个接口,称之为“ScanListener”,就像

public interface ScanListener{  public voID scanStarted();  public voID scanCompleted();}

现在Loader为你的其他代码定义了一个注册回调的方法,比如

public voID addScanListener(ScanListener Listener){  Listeners.add(Listener);}

Loader在开始扫描时执行以下代码

for (ScanListener Listener : Listeners){  Listener.scanStarted();}

当它完成时,它与Listener.scanCompleted()做同样的事情;

需要通知这些事件的代码实现该接口(自身或内部类),并调用“loader.addScanListener(this)”.它的scanStarted()和scanCompleted()方法在适当的时候被调用.您甚至可以使用带参数和/或返回结果的回调来执行此 *** 作.全取决于你.

总结

以上是内存溢出为你收集整理的Java相当于Cocoa NSNotification?全部内容,希望文章能够帮你解决Java相当于Cocoa NSNotification?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1011593.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存