5

スタンドアロンのJavaアプリケーションとJavaアプレットの両方で使用しているコンポーネントがあります。コンポーネントがアプレット内にあるかどうかをコンポーネント内からどのように判断できますか?

また、アプレットで実行していることがわかったら、どうすればアプレットにアクセスできますか?

4

2 に答える 2

4

SwingUtilities.getAncestorOfClassによる再帰なしで実行できます

于 2009-01-16T10:53:01.280 に答える
2

Component.getParent()コンテナツリーの一番上に到達するまで繰り返し呼び出し、次にそのコンテナがであるかどうかを確認することで、それを実行できるはずだと思いますinstanceof Applet

以下のコードは完全にテストされていません。

boolean isInAnApplet(Component c)
{
    Component p = c.getParent();
    if (p != null) {
         return isInAnApplet(p);
    } else {
         return (c instanceof Applet);
    }
}
于 2009-01-16T09:48:05.497 に答える