初学applet使用

昨天和今天主要纠结于Applet在Web调用不成功的问题。今天两天的奋战,终于将问题解决,


贴出来问题的解决方案,方便自己和他人。


 


情景一:单独的Applet,网页使用:


第一步,本地新建一个Applet文件(如DemoApplet.java),重写paint方法。代码如下:


  public void paint(Graphics g )


  {


   g.drawString("Hello World!",5,35);


  } 


在运行Applet这个文件时,会自动调用这个方法,写出"Hello World!"几个字。


 


第二步,新建网页htDemo.html


代码如下:


 


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html>


  <head>


    <title>My applet 'DemoApplet' starting page</title>


  </head> 


  <body>   


    <applet codebase="." 


            code="DemoApplet.class" 


            name="DemoApplet" 


            width="320" 


            height="240">


    </applet>


  </body>


</html>


 


参数说明:


  1:code:指定applet需要应用类的class。


  2:codebase:指定applet类的存放路径。


  3:width:指定显示applet的空白区域宽度。


  4:height:指定显示applet的空白区域的高度。


      5.name:指定applet的名字,可选。


 


对于codebase的处理要格外小心,如果把编译后的DemoApplet.class和htDemo.html放在同级目录下,则


codebase="."即可。


第三步:


保存网页,点击运行网页,可以看到屏幕输出了"Hello World!".


 


情景二:applet引入第三方的jar包,网页调用。


这种情况比较烦人,这也是我纠结两天没才弄出来的原因。


步骤基本如下:


 


第一步:


我写了一个applet。修改了init方法,重写了paint方法,代码如下。


public void paint(Graphics g)


{


Output outClass = new Output();


g.drawString("hahaha",20,20);


g.drawString(outClass.getString(),10,10);


}


 


public void init() { 


setLayout(new FlowLayout()); 


add(new Button("预览")); 


}


 


Output为我写的一个工具类类(它的主要作用是为了测试引入第三方jar包时,applet调用的问题),它会引入了一个第三方的jar包叫做“jna.jar”。代码如下:


 


import com.sun.jna.NativeLong;


public class Output {


public String getString()


{


NativeLong m_lUserID = new NativeLong(1);//用户登录句柄


return "You are in the Output Class" +m_lUserID.intValue();


}


}


第二步:写一个demo2.html


<body>


<applet codebase="." 


code="DemoApplet.class" 


name="DemoApplet" 


archive="jna.jar"


width="320" 


height="240">


</applet>


</body>


 


参数说明:其他参数都一样,只有添加了archive="jna.jar"这个参数是用来书写你引入的jar包的。如果有多个jar包,通过","分割。


【注】


1.第三方的jar包要和编译过的TestSimpleApplet.class在同一个目录下。


2.工具类(outclass)编译所产生的class文件(output.class 和引入的其他类的编译文件)也要放在codebase所表明的文件夹下。


 


第三步:


找到浏览器默认的jre,在其目录,举例为:*盘:\*\j2re1.4.2_05\lib\security\java.policy


在grant{}中添加如下一行代码:


permission   java.security.AllPermission;   


第四步:


点击运行网页,就出现了我们要的结果了。


 


可能出现错误:


1.红色的叉,提示class无法找到。这就要注意查看applet的code 和codebase是否写对,.class和.jar


文件的位置是否正确。


2.security之类的错误。这主要就是因为要调用用户本地的文件,但是由于jave的安全机制原因,不让applet访问用户本地文件,所以会发生异常。此时,就需要给applet赋予访问权限,从而避免错误。


3.网页中显示空白一块,或是灰色。那就是发生了异常,但是没有显示出来。


此时就要在IE的选项->高级->选择Java(Sun)将JRE***用于<applet>。从而当网页运行applet程序时就会显示Java控制台。显示相应的异常错误,仔细观察,相信可以找到错误的原因。


 


如有不解,请参阅http://topic.csdn.net/u/20100318/14/950bd343-6077-4e24-ad3c-9833149a4e30.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值