《Java编程思想》读书笔记(2)

sun为何要开发出applet这个东西,究竟浏览器在客户端编程方面还存在哪些方面的不足哪?这是我开始applet这一节学习时所思考的第一个问题。Applet是嵌入到web浏览器中的小程序(它和微软的ActiveX控件又有什么区别哪?不解。。。)。 <?xml:namespace prefix = o />

 

在我看来,需要一种东西,既能有B/S模式的瘦客户端的优点,也能加进C/S模式的强大,丰富的编程能力,这样就对web浏览器的功能进行扩展。Applet出现的一个原因吧。但由于Applet是从服务器当下来的,因此出于安全的考虑,对它的限 制也就很多。(Java的运行时安全系统始终都盯着这个潘多拉魔盒哪。):1)它不能访问(读写)本地磁盘。这当然是处于安全的考虑了,但过分的安全性限制也会损害许多可信的Applet的应用,因此,sun提高了数字签名来让用户对applet的行为进行选择。2Applet 是位于服务器端的,因此每次都需要下载到客户端,如果每需要一个类就通过浏览器去下载的话,那么用户等待的时间就过长了。因此我们应该把Applet的全 部组件打包成一个jar,这样就只要向服务器发一个请求就可以完全地下载所需的Applet.当然,Applet的优势也是明显的:1C/S模式的缺点 就是软件更新时,客户端的安装和维护太烦琐了,而版本混乱带来的’dll 地狱更是恼人。而AppletJVM的基础上真正实现了平台无关,因此用户只要本地机器上安装有虚拟机,就可以直接下载运行Applet.因此当 Applet更新时就可以避免客户端安装更新的麻烦了。2)由于javaApplet的内置安全机制,因此用户可以不必担心Applet危害客户机器。

 

应用框架(application framework) 类库的目的是,提供一个或一组具备某些基本功能的类,帮助程序员创建应用程序。而这些基本功能,是这类应用程序所必备的。于是你写应用程序的时候,只要继承这个类,然后再根据需要,覆写几个你感兴趣的方法,定制一下它的行为就可以了。应用框架的默认控制机制会在适当的时机,调用那些你写的方法。应用框架是 一种"将会变和不会变的东西分开来"的绝好的例子。它的设计思想是,通过覆写方法把程序的个性化部分留在本地。将不变部分和可变部分分开,就能应对业务的变化。Applet是用应用框架创建的。你只要继承JApplet类,再覆写几个方法就可以了。

None.gif
None.gif
None.gifinit( )
None.gif applet初始化的时候会自动调用,其任务包括装载组件的布局。必须覆写。
None.gif 
None.gifstart( )
None.gif 在Web浏览器上显示applet的时候调用。显示完毕之后,applet才开始正常工作,(特别是那些用stop( )关闭的applet)。(此外,应用框架)调用完init( )之后也会调用这个方法。
None.gif 
None.gifstop( )
None.gif 让applet从Web浏览器上消失的时候调用,这样它就能关闭一些很耗资源的操作了。此外(应用框架调用)destroy( )之前也会先调用这个方法。
None.gif 
None.gifdestroy( )
None.gif 当(浏览器)不再需要这个applet了,要把它从页面里卸载下来的时候,就会调用这个方法以释放资源了。
None.gif 
None.gif
None.gif 
None.gif
None.gif 
None.gif
None.gif

二话不说,先来个简单例子:

import  java.awt. * ;

import  javax.swing. * ;

public   class  TestApplet  extends  JApplet

{

    
public   void  init()

    {

       Button btnOk 
=   new  Button(“确定”);

       
this .getContentPane().add(btnOk);

    }

}

Swing要求将所有的组件都加到表单的"内容面板(content pane)"上,所以add( )的时候,必须先调用getContentPane( ),而不是象AWT一样直接add到表单中。

要想运行程序,先得把applet放到Web页面里,然后用一个能运行JavaWeb浏览器打开页面。你得用一种特殊的标记把applet放到Web页面里,然后让它来告诉页面该怎样装载并运行这个applet

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值