是否有一些方法可以知道类是否扩展JWindow
?例如:
class DialogWindow extends JWindow {
}
如何检查DialogWindow
类是否扩展JWindow
类?我需要知道可能放在某些Window
上的某个组件的父JPanel
,这些组件可以再次放在某些JPanel
上,依此类推在DialogWindow
之上。当然,我可以将父实例参数传递给某个组件,但也许有更好的方法可以做到这一点?
答案 0 :(得分:2)
尝试使用像这样的instanceof:
if(DialogWindow instanceof JWindow){//must return true in your case
...
}
答案 1 :(得分:1)
正确的方法是(感谢@Ben当然:) :):
Container window = getParent();
while(!(window instanceof JWindow)){
window = window.getParent();
}
JWindow parent = (JWindow) window;
System.out.println(parent.getClass());
输出为:class ...DialogWindow
超强!
答案 2 :(得分:0)
您可以尝试getClass().getSuperClass()
。这里提出了类似的问题How to get the parent base class object super.getClass()