jframe 用到了 swing
swing 在 jdk1.1 里面是不支持的
所以 ie 默认的 java vm (jre1.1) 没法使你的 applet解决方法:
用 awt
或者
安装高版本的 jre ( > 1.2)

解决方案 »

  1.   

    [转贴]
    用Java插件在浏览器中运行Java2 Applet  
    ---- 和以前的版本相比,Java 2增加了不少令人难忘的特色。特别是Swing提供的用户界面部件(如表格和树形控制)以及2-D编程接口、JavaBean支持的增强,使得JDK 1.1看起来像一个古董。遗憾的是,没有一个浏览器能够完全支持Java 2,也就是说,那些令人激动的新功能在浏览器上无法运行,甚至还没有一个浏览器宣布在确定的日期内提供对Java 2的支持。在Internet页面上也许没有必要用Java 2,但在LAN环境下不用这些新增功能实在让人觉得可惜。如果你也有这种感觉,不妨使用Java Plug-in(Java 插件)。  ---- 1.基本原理及存在的问题  ---- 本来,Applet的概念相当简单??只要在Web页面中加入一个< APPLET >标记就可以了。浏览器一遇到这个标记,就会下载对应的 Applet类文件,并启动自己的解释器运行这个Applet。在此过程中浏览器担当相当重要的角色,特别是它必需具备运行Java的能力,同时浏览器的虚拟机也决定了可接受的Java代码版本。  ---- 运用Java插件的基本目标是将显示Web页面和运行Java Applet这两个任务分离,浏览器的主要任务是负责各种页面部件(如图片、文本、Applet等)的布局。这种机制Navigator和IE都早就具备,Netscape称之为浏览器插件。  ---- 所谓的插件就是一个能够负责特定页面区域的代码模块。假设某个页面中含QuickTime电影片断,浏览器只需要知道它应该保留的大小,然后就可以将它象图片或其它页面元素一样安排了,页面中该区域的显示则由QuickTime插件代码负责。  ---- 可以将Applet与电影片断同等看待。此时浏览器只需要知道Applet的显示区域大小,就可以像对待其它页面元素一样对待Applet了。而运行Applet的任务则由Java 插件负责。  ---- 在IE中又怎么办呢?IE中的ActiveX也具有完全相似特性:浏览器将页面中某个区域的控制权交给其它代码负责。虽然Netscape叫它插件,Microsoft叫它ActiveX控件,两者名字大不相同,但它们都能够让Web浏览器运行真正的Java 2代码。  ---- 这种方法最大的好处在于,它能够让IE和Navigator使用Sun的Java运行时环境,而不再依赖于浏览器来获得Java支持,更不必关注浏览器支持什么Java版本了。  ---- 但这种方法也存在缺点,主要有以下两个方面:首先,这种运行Applet的方式需要下载和安装Java 插件;其次,一个简单的< APPLET >标记已经不再足够,用插件运行Applet的Web页面需要更多的HTML代码。  ---- 对于第一个问题,既可以从Sun站点(http://java.sun.com/products/plugin/index.html)事先下载和安装插件软件包,如果有Internet连接,也可以让浏览器在遇到< EMBED > 或< OBJECT > 标记时自动下载。  ---- 标记不同问题稍微复杂一点。虽然Netscape的插件机制和Microsoft的ActiveX技术是非常相似的东西,但在Web页面中调用它们的方法却是完全不同的。Navigator用< EMBED >标记引入插件,IE中起类似功能的标记叫< OBJECT >。  ---- 如果你熟悉HTML且需要引用Java 2 Applet的页面不多,可以手工将< EMBED >标记嵌入到< OBJECT >标记对内部,使得页面在两个浏览器下都可以正常显示。假设要运行的是TestApplet,则通过Java插件运行Applet的HTML代码类如(也就是说,用下面这些代码取代原来的< APPLET >标记):  < OBJECT classid=xxx  
    WIDTH = 350 HEIGHT = 150  
    codebase="http://java.sun.com/products/plugin  
    /1.2/jinstall-12-win32.cab#Version=1,2,0,0" >  
    < PARAM NAME = CODE VALUE = TestApplet >  
    < PARAM NAME="type" VALUE="application/  
    x-java-applet;version=1.2" >  
    < COMMENT >  
    < EMBED type="application/x-java-applet;version=1.2"  
    java_CODE = TestApplet WIDTH =  
    350 HEIGHT = 150  
    pluginspage="http://java.sun.com/products/plugin/  
    1.2/plugin-install.html" >< NOEMBED >< /COMMENT >  < /NOEMBED >< /EMBED >  
    < /OBJECT >  ---- 更方便的方法是利用Sun提供的HTML Converter工具,它可以实现< Applet >标记到上述标记的自动转换。如果页面数量较多,使用这个工具尤为值得。HTML Converter可在以下地址下载:  ---- http://java.sun.com/products/plugin/1.2/converter.html  ---- 2.具体过程示例  ---- 下面我们通过实例来说明整个过程。假设有下面这个Applet,它用到了Swing,因而需要Java 2支持:  import java.awt.*;  
    public class TestApplet extends javax.swing.JApplet {  
    private Font mFont = new Font("Serif", Font.PLAIN, 64);  public void paint(Graphics g) {  
    Graphics2D g2 = (Graphics2D)g;  
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,  
    RenderingHints.VALUE_ANTIALIAS_ON);  
    g2.setPaint(new GradientPaint(0, 0, Color.green,  
    20, 10, Color.blue, true));  
    Dimension d = getSize();  
    g2.fillRect(0, 0, d.width, d.height);  
    g2.setPaint(Color.red);  
    g2.setFont(mFont);  
    g2.drawString("ABCDEFG", 20, 84);  
    }  
    }  
    ---- 下面这个HTML页面使用< APPLET >标记引入TestApplet。在浏览器中该Applet是无法运行的,如果你愿意的话,可以用AppletViewer观察它的运行效果:  < html >  
    < head >  
    < /head >  
    < body >  
    < applet code=TestApplet width = 350  
    height = 150 >< /applet >  
    < /body >  
    < /html >  ---- 接下来工作就是用HTML Converter将< Applet >标记转换为调用Java 插件的< EMBED >和< OBJECT >标记了。在下载和安装这个工具之后,输入命令 java HTMLConverter即可运行它。此时将出现该程序的主窗口,用法很简单,只需选择转换刚创建的文件即可。转换之后原来的文件将被覆盖(可在独立目录下创建原文件备份)。转换之后就可以运行Java 插件了。在Web服务器或本地打开转换后的页面,如果Java 插件安装正确,就可以看到Applet的运行。虽然整个过程略显麻烦,但对于Java 2所提供的许多新特色来说,这种麻烦又微不足道了。