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");
}
....
}
詳細情報
なし