/**
* Strips off the UI's mouse listeners attached to the associated toolbar
* and replaces them with this handler's listeners.
*/
private void installListeners() {
if (!ourVersionIsCompatible)
return;
ourToolBar.removePropertyChangeListener("UI", ourUIListener);
// Uninstall the current ui, collect the remaining listeners
// on the toolbar, and reinstall the ui...
final ComponentUI ui = ourToolBar.getUI();
ui.uninstallUI(ourToolBar);
final java.util.List mList = Arrays.asList(ourToolBar
.getListeners(MouseListener.class));
final java.util.List mmList = Arrays.asList(ourToolBar
.getListeners(MouseMotionListener.class));
ui.installUI(ourToolBar);
// ...then remove the listeners that were added by the ui...
final MouseListener[] ml = ourToolBar
.getListeners(MouseListener.class);
final MouseMotionListener[] mml = ourToolBar
.getListeners(MouseMotionListener.class);
for (int i = 0; i < ml.length; i++) {
if (!mList.contains(ml[i]))
ourToolBar.removeMouseListener(ml[i]);
}
for (int i = 0; i < mml.length; i++) {
if (!mmList.contains(mml[i]))
ourToolBar.removeMouseMotionListener(mml[i]);
}
// ...and add our listeners to the toolbar.
ourToolBar.addMouseListener(ourDragListener);
ourToolBar.addMouseMotionListener(ourDragListener);
ourToolBar.addPropertyChangeListener("UI", ourUIListener);
}
Handler.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:ramus
作者:
评论列表
文章目录