如何知道某些类是否扩展了JWindow类?

时间:2013-08-28 17:19:54

标签: java swing class jwindow

是否有一些方法可以知道类是否扩展JWindow?例如:

class DialogWindow extends JWindow {
}

如何检查DialogWindow类是否扩展JWindow类?我需要知道可能放在某些Window上的某个组件的父JPanel,这些组件可以再次放在某些JPanel上,依此类推在DialogWindow之上。当然,我可以将父实例参数传递给某个组件,但也许有更好的方法可以做到这一点?

3 个答案:

答案 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()