这一部分介绍的内容适合于图形用户界面的应用(Applet和普通应用),要用到AWT或Swing。
3.1 用JAR压缩类文件
Java档案文件(JAR文件)是根据JavaBean标准压缩的文件,是发布JavaBean组件的主要方式和推荐方式。JAR档案有助于减少文件体积,缩短下载时间。例如,它有助于Applet提高启动速度。一个JAR文件可以包含一个或者多个相关的Bean以及支持文件,比如图形、声音、HTML 和其他资源。
要在HTML/JSP文件中指定JAR文件,只需在Applet标记中加入ARCHIVE = "name.jar"声明。
请参见《使用档案文件提高 applet 的加载速度》。
3.2 提示Applet装入进程
你是否看到过使用Applet的网站,注意到在应该运行Applet的地方出现了一个占位符?当Applet的下载时间较长时,会发生什么事情?最大的可能就是用户掉头离去。在这种情况下,显示一个Applet正在下载的信息无疑有助于鼓励用户继续等待。
下面我们来看看一种具体的实现方法。首先创建一个很小的Applet,该Applet负责在后台下载正式的Applet:
import java.applet.Applet;
import java.applet.AppletStub;
import java.awt.Label;
import java.awt.Graphics;
import java.awt.GridLayout;
public class PreLoader extends Applet implements Runnable, AppletStub {
String largeAppletName;
Label label;
public void init() {
// 要求装载的正式Applet
largeAppletName = getParameter("applet");
// “请稍等”提示信息
label = new Label("请稍等..." + largeAppletName);
add(label);
}
public void run(){
try {
// 获得待装载Applet的类
Class largeAppletClass = Class.forName(largeAppletName);
// 创建待装载Applet的实例
Applet largeApplet = (Applet)largeAppletClass.newInstance();
// 设置该Applet的Stub程序
largeApplet.setStub(this);
// 取消“请稍等”信息
remove(label);
// 设置布局
setLayout(new GridLayout(1, 0));
add(largeApplet);
// 显示正式的Applet
largeApplet.init();
largeApplet.start();
}
catch (Exception ex) {
// 显示错误信息
label.setText("不能装入指定的Applet");
}
// 刷新屏幕
validate();
}
public void appletResize(int width, int height) {
// 把appletResize调用从stub程序传递到Applet
resize(width, height);
}
}
编译后的代码小于2K,下载速度很快。代码中有几个地方值得注意。首先,PreLoader实现了AppletStub接口。一般地,Applet从调用者判断自己的codebase。在本例中,我们必须调用setStub()告诉Applet到哪里提取这个信息。另一个值得注意的地方是, AppletStub接口包含许多和Applet类一样的方法,但appletResize()方法除外。这里我们把对appletResize()方法的调用传递给了resize()方法。
分享到:
相关推荐
内容详细说明:上篇:GUI制作 1.有两个GUI程序motion_detection.m和MotionDection2010.m,要实现的功能是打开motion_detection.m登录界面,点击其中的enter进入MotionDection2010.m界面进行运动目标检测及测速操作...
第三,详细阐述一下图像处理软件平台的制作方法。本文的GUI例子所制作的图像处理软件可以实现的功能有:五种常用的边缘检测、灰度直方图的显示、灰度直方图的均衡化、对比度自适应直方图的均衡化、图片的二值化以及...
自己写的论文基于GUI的...文章一共8页,写的非常详细,代码也比较多,希望想学习的朋友都来下载,另外,楼主一定要帮我点评一下,你的认可是对我最大的鼓励,希望这篇文章会是我的第2篇精品文章,诚望给予点评指正。
自己写的论文基于GUI的...文章一共8页,写的非常详细,代码也比较多,希望想学习的朋友都来下载,另外,楼主一定要帮我点评一下,你的认可是对我最大的鼓励,希望这篇文章会是我的第2篇精品文章,诚望给予点评指正。
所有例子出自《精通MATLAB GUI设计》一书,本书涵盖三个章节: 1、基础入门篇 2、设计提高篇 3、综合应用篇 涵盖了200多个例子,贴别是数学物理课件等GUI的制作,内容由浅入深,很值得学习,对于初学者来说是很...
进阶篇主要介绍数据结构、高级GUI设计、多线程、集合架构、网络和Web程序设计、算法效率和排序、MVC,以及高级Java数据库程序设计等方面的内容,循序渐进,可读性强。《Java语言程序设计——基础篇》以示例讲解解决...
内容详细说明:上篇:GUI制作 1.有两个GUI程序motion_detection.m和MotionDection2010.m,要实现的功能是打开motion_detection.m登录界面,点击其中的enter进入MotionDection2010.m界面进行运动目标检测及测速操作...
内容详细说明:上篇:GUI制作 1.有两个GUI程序motion_detection.m和MotionDection2010.m,要实现的功能是打开motion_detection.m登录界面,点击其中的enter进入MotionDection2010.m界面进行运动目标检测及测速操作...
BiliChat-Console一个 BiliChat 的第三方 GUI注:直播弹幕来自背景图片是 的专栏 的封面这是个什么? 的第三方 GUI 管理器。关于 BiliChat 的详细信息请查阅 和目前实现了以下功能自动部署 Node.Js 运行库和安装 ...
进阶篇主要介绍数据结构、高级GUI设计、多线程、集合架构、网络和Web程序设计、算法效率和排序、MVC,以及高级Java数据库程序设计等方面的内容,循序渐进,可读性强。《Java语言程序设计——基础篇》以示例讲解解决...
理之改需要配合jdk , jdk我也上传了 , 还在审核 , 另外这篇文章可以参考一下https://www.cnblogs.com/xw885/articles/3554773.html
GUI 绘制 ARD 系统的传递函数/频率响应函数 [1],使用滑块设置参数值。 ARD 系统是用于实时预测平滑信号的线性系统。 由于它是无模型的,所有 ARD 应用程序都具有相同的传递函数, 最多特定的参数值,其中有三个: 1...
本程序是我的http://blog.csdn.net/zhuxiaoyang2000/archive/2011/05/11/6410811.aspx这篇文章中提到的所有资源。
第三篇 变量与数据结构 10 矩阵的处理与运算 11 字符与字符串 12 多维数组 13 单元数组 14 结构数组 15 稀疏矩阵 第四篇 程序设计 16 MATLAB的运算符 17 M文件 18 程序流程控制 19 程序调试 20 文件输出及输入 21 ...
Unity3D大风暴之入门篇内容简介:《unity3d大风暴之入门篇(海量教学视频版)》是“unity大风暴”系列三部曲的第一部,系统地讲解了unity3d的基本操作和功能实现,包括对ngui、uniswf和scaleform等unity主流gui解决...
全书内容共分三篇,分为入门篇、高级篇和案例篇。入门篇包括Python的认识和安装、开发工具简介、Python基本语法、数据结构与算法、多媒体编程、系统应用、图像处理和GUI编程等内容。高级篇包括用Python操作数据库、...
《Python宝典》内容共分三篇,分为入门篇、高级篇和案例篇。入门篇包括Python的认识和安装、开发工具简介、Python基本语法、数据结构与算法、多媒体编程、系统应用、图像处理和GUI编程等内容。高级篇包括用Python...
第三节 WEB3D闪亮登场 8 第二章 Lyinux基础知识 9 第一节 2D与3D 9 第二节 3D世界是如何描述的 11 一、 空间位置 11 二、 视觉效果 12 三、 运动状态 13 第三节 有关LYINUX 13 一、 Lyinux的应用: 14 二、 Lyinux的...
第2章 Qt的HelloWorld(GUI)及剖析 65 ...2.4.3 步骤三:命令行编译生成exe 75 2.5 Qt程序的运行和发布 76 2.5.1 设置环境变量 76 2.5.2 生成.exe程序 77 2.5.3 使用windeployqt自动复制所依赖的dll 77
第1篇 嵌入式Linux开发环境构建篇 第1章 嵌入式Linux开发概述 第2章 嵌入式Linux开发环境构建 第3章 嵌入式编程基础知识 第4章 Windows、Linux环境下相关工具、命令的使用 第2篇 ARM9嵌入式系统基础实例篇 第5章 ...