Jas*_*n S 6 java swing listener
是否有任何预先存在的类有助于支持添加/删除EventListener操作?(有点像PropertyChangeSupport)
我正在尝试将我的代码划分为模型并在Java中查看.我有一些不正常的数据,并希望模型支持某种EventListener,以便视图可以订阅模型中的更改.数据很多+很复杂,我不想做整个细粒度的Javabeans属性更改支持; 相反,我只是想通知模型已经粗略地改变了.
我该怎么做才能做到最好?
我会用ChangeEvent处理它.这只是一个迹象表明事情发生了变化.
至于实现添加/删除/触发功能.没有像PropertyChangeSupport这样的机制,但代码很简单,并不需要它.
private final EventListenerList listenerList = new EventListenerList();
private final ChangeEvent stateChangeEvent = new ChangeEvent(this);
public void addChangeListener(ChangeListener l) {
listenerList.add(ChangeListener.class, l);
}
public void removeChangeListener(ChangeListener l) {
listenerList.remove(ChangeListener.class, l);
}
protected void fireChange() {
for (ChangeListener l: listenerList.getListeners(ChangeListener.class)) {
l.stateChanged(stateChangeEvent);
}
}
Run Code Online (Sandbox Code Playgroud)
注意:JComponent提供了一个受listenerList子类使用的受保护对象.
| 归档时间: |
|
| 查看次数: |
1579 次 |
| 最近记录: |