将事件传递给父母

将事件传递给父母,第1张

事件传递给父母

在事件侦听器中,您可以将事件调度到父组件。

作为

myEvent
事件处理函数参数:

Component source=(Component)myEvent.getSource();source.getParent().dispatchEvent(myEvent);

但是此解决方案意味着为每个要添加的元素创建一个新的EventListener。

因此,您可以创建一个事件处理程序并重用它,将其添加到所有选定的子项中,如下所示:

final Container parent=this; //we are a the parent container creation preMouseListener myCommonListener=new MouseListener() {    @Override    public void mouseClicked(MouseEvent e) {        parent.dispatchEvent(e);    }    @Override    public void mouseEntered(MouseEvent e) {        parent.dispatchEvent(e);    }    @Override    public void mouseExited(MouseEvent e) {        parent.dispatchEvent(e);    }    @Override    public void mousePressed(MouseEvent e) {        parent.dispatchEvent(e);    }    @Override    public void mouseReleased(MouseEvent e) {        parent.dispatchEvent(e);    }};JLabel label=new JLabel("This is the first Label");label.addMouseListener(myCommonListener);JLabel label2=new JLabel("This is the second Label");label2.addMouseListener(myCommonListener);//... and so on


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5093390.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-16
下一篇2022-11-16

发表评论

登录后才能评论

评论列表(0条)

    保存