一个java问题关于一个函数的使用.急急,帮帮我吧!求求你了!

来源:百度知道 编辑:UC知道 时间:2024/07/04 13:32:29
请问java中getAncestorOfClass()怎样使用?
对于下面的解释我不理解.最好举一个例子.谢谢!
这个方法是javax.swing.SwingUtilities类的一个静态方法,通过类名或引用名调用,结构:

public static Container getAncestorOfClass(Class<?> c, Component comp)
功能:在组件层次结构中搜索上面的 comp 的便捷方法,返回它找到的类 c 的第一个对象。就是在你开发的组件系统中,找到你想要的部件comp(Component是所有组件的父类,即可用Component引用所有的组件对象)的所在容器类,即comp的上层容器,然后以第一个参数指定的类返回,引用类型为java.awt.Container。
如:要查找comp的上层容器类,类型是A
Container c=javax.swing.SwingUtilities.getAncestorOfClass(A.class,comp)。

看API去啊

这个不难,这么说吧,
有一个frame frameA
在frameA里面有个panel panelB
在pannelB里面有个button buttonC
如果你想得到buttonC外层的类型是Jpanel的那个组建怎么办,就是用那个方法啊
Container c=javax.swing.SwingUtilities.getAncestorOfClass(Jpanel.class,buttonC)。
如果buttonC外层有好多panel,他会返回第一个匹配的。
同理,你想得到其他类型的组建,只要将Jpanel.class换成想得到的组建的类型就行了。
如果没有就返回null