rcp 中的事件通信
在rcp中事件通信有三种常用的方法:
?
1:选择提供、选择监听的方式。
2:osgi EventAdmin
3:属性更改事件。
? ? jface封装的事件 IPropertyChangeListener
?
???for?(Iterator<IPropertyChangeListener>?iter?=?myListeners.iterator();?iter.hasNext();)?{
4????????????IPropertyChangeListener?element?=?(IPropertyChangeListener)?iter.next();
5????????????element.propertyChange(new?PropertyChangeEvent(this,?"HelloRcpEvent"?,?null?,?obj));
6????????????
7????????}
?
? ?你需要自己建立一个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的。后边的是可以在任何地方使用。
?
?