问题描述
急求高手-指点,万分感谢~问题如下:一个顶层的Applet,下面加载了很多的Swing组件,因为代码量比较大,现在一时摸不清组件间的层级关系,如何指定一个JPanel的鼠标点击事件,调用顶层Applet中的一个方法呢?疑惑:1.从类聚合的角度看: JPanel中有没有一个方法,能取得顶层Applet的句柄呢?而且两者之间可能不是直接的上下级,可能中间隔了好几级。(有了顶层句柄就可以调用顶层方法了)2.从事件模型角度看: Applet的事件模型,好像跟HTML不一样,HTML事件可以逐级向上传递,比如我只要在body上定义了click事件的话,点击下级任何一个button或者textarea之类的组件,事件最终都会上传到body,都可以触发我的方法。但是Applet就不行,我在顶层Applet类里定义鼠标点击触发一段代码,结果就是点击下面的组件,没有任何效果。能不能从事件模型的角度去解决这个需求呢?比较急,多谢了! 问题补充:devworks 写道
解决方案
试试 SwingUtilities 的 getRoot 方法。
时间: 2024-08-02 21:49:51