如何判断Java组件是否在小程序中?

如何判断Java组件是否在小程序中?,java,applet,Java,Applet,我有一个在独立Java应用程序和Java小程序中都使用的组件。如何从组件内部判断我的组件是否在小程序中 此外,一旦我发现自己正在小程序中运行,我如何才能访问小程序?我认为您应该能够通过反复调用组件.getParent()来完成这一任务,直到到达容器树的顶部,然后检查该容器是否是小程序的实例 以下代码完全未经测试: boolean isInAnApplet(Component c) { Component p = c.getParent(); if (p != null) {

我有一个在独立Java应用程序和Java小程序中都使用的组件。如何从组件内部判断我的组件是否在小程序中


此外,一旦我发现自己正在小程序中运行,我如何才能访问小程序?

我认为您应该能够通过反复调用
组件.getParent()
来完成这一任务,直到到达容器树的顶部,然后检查该容器是否是小程序的
实例

以下代码完全未经测试:

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

您可以通过

执行此操作,而无需递归。还有SwingUtilities.getRoot。