如何判断我的Java组件是否在Applet中?

时间:2009-01-16 09:07:07

标签: java applet

我有一个组件,我在独立的Java应用程序和Java小程序中都使用它。如何从Component中弄清楚我的组件是否在applet中?

此外,一旦我发现我在Applet中运行,我怎样才能访问Applet?

2 个答案:

答案 0 :(得分:4)

您可以SwingUtilities.getAncestorOfClass

无需递归即可完成此操作

答案 1 :(得分:2)

我认为您应该可以通过重复调用Component.getParent()来执行此操作,直到您到达容器树的顶部,然后检查该容器是否为instanceof Applet

以下代码完全未经测试:

boolean isInAnApplet(Component c)
{
    Component p = c.getParent();
    if (p != null) {
         return isInAnApplet(p);
    } else {
         return (c instanceof Applet);
    }
}