在SWT中,一般规则是事件 不 传播。对此的主要例外是遍历事件的传播-描述起来非常复杂。
最简单的回答你的问题是,你必须将监听器添加到 所有 的你的孩子
Composite- 递归 !
例如这样
public void createPartControl(Composite parent) { // Create view... final MouseListener ma = new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { System.out.println("down in " + e.widget); } }; addMouseListener(parent, ma);}private void addMouseListener(Control c, MouseListener ma) { c.addMouseListener(ma); if (c instanceof Composite) { for (final Control cc : ((Composite) c).getChildren()) { addMouseListener(cc, ma); } }}e.widget如上所示,找到了单击的窗口小部件。一个重要的问题是,如果
Controls以后添加更多内容,请记住再次执行此操作。



