java.lang.InstantiationException:"code" と "object" の両方ではなく、どちらか片方だけを指定する
症状アプレットを Sun JRE を使用したブラウザで実行している場合、
InstantiationExceptionがスローされます。同じアプレットが Microsoft VM では実行できます。原因
以下の 2 つの原因があります。
codeとobject属性の両方を<APPLET>タグで指定している
<APPLET code=MyApplet object=MyApplet.ser width=100 height=100>
</APPLET>
Sun JRE はcodeまたはobjectどちらか片方の属性にアクセスできますが、両方にはアクセスできない
code属性を<APPLET>タグで指定し、object属性を<PARAM>タグで指定している
<APPLET code=MyApplet width=100 height=100>
<PARAM name="object" value="someValue">
</APPLET>
public class MyApplet extends java.applet.Applet
{
public void init()
{
String value = getParameter("object");
}
....
}
Sun JRE ではパラメータ名としてはobjectをサポートしていません。解決方法
最初の例の場合は、
code属性を<APPLET>タグから削除します。
<APPLET object=MyApplet.ser width=100 height=100>
</APPLET>
2 番目の例の場合は、パラメータ名を別の名前に変更します。
<APPLET code=MyApplet width=100 height=100>
<PARAM name="property1" value="someValue">
</APPLET>
public class MyApplet extends java.applet.Applet
{
public void init()
{
String value = getParameter("property1");
}
....
}詳細情報
なし