有什么方法可以知道类是否扩展了JWindow?例如:
class DialogWindow extends JWindow {
}如何检查DialogWindow类是否扩展了JWindow类?我需要知道一些组件的父Window,这些组件可能放在某个JPanel上,然后再放在某个JPanel上,以此类推,放在DialogWindow上。当然,我可以将父实例参数传递给某个组件,但也许还有更好的方法呢?
发布于 2013-08-29 01:24:32
尝试像这样使用instanceof:
if(DialogWindow instanceof JWindow){//must return true in your case
...
}发布于 2013-08-29 01:36:35
正确的方法是(当然要感谢@Ben : ):
Container window = getParent();
while(!(window instanceof JWindow)){
window = window.getParent();
}
JWindow parent = (JWindow) window;
System.out.println(parent.getClass());输出结果是:class ...DialogWindow超级!
发布于 2013-08-29 01:23:39
你可以试试getClass().getSuperClass()。这里也问了一个类似的问题,How to get the parent base class object super.getClass()
https://stackoverflow.com/questions/18494318
复制相似问题