私は2つのアプレットを持っています。FirstApplet アプレットは、メインの HTML ページにあります。メイン ページは、javascript window.open(...) を使用して、SecondApplet アプレットが埋め込まれた新しいページを開きます。
以下は、両方のアプレットの定義方法です。
public class SecondApplet extends JApplet{
private static Long value;
public void init(){
value = new Long(6);
}
public static void testValue(){
System.out.println(value);
}
}
public class FirstApplet extends JApplet{
public void testValue(){
SecondApplet.testValue();
}
}
今私の問題は FirstApplet が呼び出すときです
SecondApplet.testValue()
static フィールドの値が失われ、値が 0 になりました。また、SecondApplet init() メソッドでインスタンス化される独自のオブジェクト モデルを試してみましたが、FirstApplet.testValue() が呼び出されると、これらのオブジェクトは NULL になります。
この動作が発生する理由を知っている人はいますか? 両方のアプレットが同じ JVM にあるので、私は困惑しています。
ところで、私も getAppletContext.getApplet("secondapplet") を使用してみましたが、常に NULL を返します。getAppletContext.getApplets() でさえ、常に 1 つの要素を返します。HTML ページで name 属性を確認しましたが、正しいです。
これがセキュリティ上の問題である場合は、エラーや警告が表示されないことを追加したかっただけです。
前もって感謝します。