如果你让用 Microsoft VM 的浏览器打开你在高版本里编译的applet,就会在状态栏以及JAVA控制台(如果你启用了的话)里看到 class <XXX> not found 或者 java.lang.NoClassDefFoundError 的错误以及java.lang.ClassNotFoundException 的异常。
你可以使用javac <XXX.java> -source 1.3 -target 1.1的方式生成Microsoft VM能够加载的JAVA类,但是这远远不够:低版本的JAVA有很多特性不能使用,经常会看到你编写的applet在IE内核的浏览器里显示时会出现些匪夷所思的问题,通常就是这个原因。此时如果你打开JAVA控制台你往往会看到找不到类等等类似的错误,就是因为你使用了Microsoft VM 不支持的类。
另外还有个很重要的情况:以IE为内核的第三方浏览器(比如遨游、GreenBrowser、世界之窗等)并不会因为你在IE里设置为使用SUN的JVM而使用它,反正在我的电脑上我的IE是使用了JVM,在用IE浏览applet的时候托盘里会出现JVM的图标。而用遨游时就没有JVM的图标,而且也无法显示applet,表现与使用Microsoft VM的情况一致。所以我肯定第三方浏览器使用的是Microsoft VM。这一点我相信这些优秀的第三方浏览器以后会有所改进。
再另外:我使用的是XP SP2,是不是高版本的Windows或者Vista就不会有这种情况了呢?我就不知道了。
不过至少目前,想要编个兼容性很强的applet,恐怕不是件容易事了。。。