《Java编程思想》读书笔记(2)
sun为何要开发出applet这个东西,究竟浏览器在客户端编程方面还存在哪些方面的不足哪?这是我开始applet这一节学习时所思考的第一个问题。Applet是嵌入到web浏览器中的小程序(它和微软的ActiveX控件又有什么区别哪?不解。。。)。
在我看来,需要一种东西,既能有B/S模式的“瘦客户端”的优点,也能加进C/S模式的强大,丰富的编程能力,这样就对web浏览器的功能进行扩展。Applet出现的一个原因吧。但由于Applet是从服务器当下来的,因此出于安全的考虑,对它的限 制也就很多。(Java的运行时安全系统始终都盯着这个“潘多拉魔盒”哪。):1)它不能访问(读写)本地磁盘。这当然是处于安全的考虑了,但过分的安全性限制也会损害许多可信的Applet的应用,因此,sun提高了数字签名来让用户对applet的行为进行选择。2)Applet 是位于服务器端的,因此每次都需要下载到客户端,如果每需要一个类就通过浏览器去下载的话,那么用户等待的时间就过长了。因此我们应该把Applet的全 部组件打包成一个jar,这样就只要向服务器发一个请求就可以完全地下载所需的Applet.当然,Applet的优势也是明显的:1)C/S模式的缺点 就是软件更新时,客户端的安装和维护太烦琐了,而版本混乱带来的’dll 地狱“更是恼人。而Applet在JVM的基础上真正实现了平台无关,因此用户只要本地机器上安装有虚拟机,就可以直接下载运行Applet.因此当 Applet更新时就可以避免客户端安装更新的麻烦了。2)由于java和Applet的内置安全机制,因此用户可以不必担心Applet危害客户机器。
应用框架(application framework)的 类库的目的是,提供一个或一组具备某些基本功能的类,帮助程序员创建应用程序。而这些基本功能,是这类应用程序所必备的。于是你写应用程序的时候,只要继承这个类,然后再根据需要,覆写几个你感兴趣的方法,定制一下它的行为就可以了。应用框架的默认控制机制会在适当的时机,调用那些你写的方法。应用框架是 一种"将会变和不会变的东西分开来"的绝好的例子。它的设计思想是,通过覆写方法把程序的个性化部分留在本地。将不变部分和可变部分分开,就能应对业务的变化。Applet是用应用框架创建的。你只要继承JApplet类,再覆写几个方法就可以了。




















二话不说,先来个简单例子:
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页面里,然后用一个能运行Java的Web浏览器打开页面。你得用一种特殊的标记把applet放到Web页面里,然后让它来告诉页面该怎样装载并运行这个applet。
作者:洞庭散人
出处:http://phinecos.cnblogs.com/
posted on 2006-05-27 22:12 Phinecos(洞庭散人) 阅读(911) 评论(1) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述