读书人

rcp 中的事件通讯

发布时间: 2012-10-09 10:21:45 作者: rapoo

rcp 中的事件通信

在rcp中事件通信有三种常用的方法:

?

1:选择提供、选择监听的方式。

2:osgi EventAdmin

3:属性更改事件。

? ? jface封装的事件 IPropertyChangeListener

?

???for?(Iterator<IPropertyChangeListener>?iter?=?myListeners.iterator();?iter.hasNext();)?{

4rcp  中的事件通讯????????????IPropertyChangeListener?element?=?(IPropertyChangeListener)?iter.next();
5rcp  中的事件通讯????????????element.propertyChange(new?PropertyChangeEvent(this,?"HelloRcpEvent"?,?null?,?obj));
6rcp  中的事件通讯????????????
7rcp  中的事件通讯????????}

?

? ?你需要自己建立一个List<IPropertyChangeListener>,来存放所有的监听。

?

? ?java bean封装的PropertyChangeSupport

??PropertyChangeSupport ?这种方式比上面更简单一些。

?你可以直接

//@XStreamOmitField

public PropertyChangeSupport listeners = new PropertyChangeSupport(this);

public void addPropertyChangeListener(PropertyChangeListener l) {

listeners.addPropertyChangeListener(l);

}

? ? ? ? protected void firePropertyChange(String prop) {

listeners.firePropertyChange(prop, null, null);

}

?

?

rcp

常用的事件也就这几种。第一中是基于ui的。后边的是可以在任何地方使用。

?

?

读书人网 >编程

热点推荐