Ale*_*lds 5 java events cocoa notifications objective-c
我正在使用SWT小部件编写Java应用程序.我想在某个事件发生时更新某些小部件的状态(例如,更新数据模型的状态).
Java中是否存在类似于Cocoa的NSNotificationCenter的东西,我可以在其中注册一个对象来监听通知事件并对它们做出响应,以及让其他对象"触发"通知?
好吧,假设您的计算机开始扫描时,以及完成扫描时(不要担心加载程序是什么,或扫描的内容),您希望程序的某些部分得到通知,这些是来自我上一份工作中的一些代码.你定义一个接口,称之为"ScanListener",就像
public interface ScanListener
{
public void scanStarted();
public void scanCompleted();
}
Run Code Online (Sandbox Code Playgroud)
现在Loader为你的其他代码定义了一个注册回调的方法,比如
public void addScanListener(ScanListener listener)
{
listeners.add(listener);
}
Run Code Online (Sandbox Code Playgroud)
Loader在开始扫描时执行以下代码
for (ScanListener listener : listeners)
{
listener.scanStarted();
}
Run Code Online (Sandbox Code Playgroud)
当它完成时,它与listener.scanCompleted()做同样的事情;
需要通知这些事件的代码实现该接口(自身或内部类),并调用"loader.addScanListener(this)".它的scanStarted()和scanCompleted()方法在适当的时候被调用.您甚至可以使用带参数和/或返回结果的回调来执行此操作.全取决于你.
| 归档时间: |
|
| 查看次数: |
3250 次 |
| 最近记录: |