这一部分介绍的内容适合于图形用户界面的应用(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()方法。
分享到:
相关推荐
本篇将重点讲解如何在Java GUI中绘制出一个三角形,这涉及到Java的AWT和Swing库。 首先,Java中的`java.awt.Graphics`类提供了基本的绘图功能,它允许我们在组件上绘制各种形状。为了在GUI中绘制三角形,我们需要...
本篇文章将围绕一个具体的示例——绘制一个棋盘并实现按钮与面板的事件监听,来深入探讨相关的Java GUI编程技巧。 #### 二、核心知识点 ##### 1. 导入必要的包 在编写Java GUI程序时,通常需要导入以下几个关键包...
本篇文章探讨了如何运用MATLAB GUI(图形用户界面)结合三维图形视角变化技术来设计信号与系统的教学课件。该方法通过MATLAB GUI平台实现对信号与系统的可视化展示,特别是针对周期方波信号的分解进行了详细的阐述。...
#### 三、GUI 创建步骤详解 1. **启动 GUIDE**: - 在 MATLAB 命令窗口中输入 `guide` 并按回车键,即可启动 GUIDE 工具。 2. **新建 GUI**: - 选择“Blank GUI (Default)”选项创建一个新的空白 GUI。 - 或者...
本篇论文主要介绍了基于Matlab GUI(Graphical User Interface,图形用户界面)的脑胶质瘤三维显示辅助诊断系统的设计。脑胶质瘤作为颅脑肿瘤中最常见的类型,给患者的生命安全带来了极大的威胁,而MRI作为脑胶质瘤...
本篇文章将基于提供的部分书籍内容,对MATLAB GUI 中的基本图形绘制、动画制作、句柄图形对象创建以及使用图形用户界面开发环境(GUIDE)创建 GUI 进行详细介绍。 #### 二、基本图形绘制 在 MATLAB 中进行图形绘制...
本篇主要聚焦于如何利用MATLAB的图形用户界面(GUI)来实现三维聚类。 MATLAB是一个强大的数学计算环境,其GUI功能可以方便地创建交互式应用程序,包括对数据进行处理和分析的工具。在标题提到的"利用GUI建立三维...
本篇将详细介绍如何利用Matlab GUI构建一个简单的计算器。 一、Matlab GUI基础 1. **GUIDE工具**:MATLAB提供的GUI开发环境是GUIDE(Graphical User Interface Development Environment),它允许用户通过拖拽控件...
本篇文章将深入探讨GUI的设计原理、实现方法以及在数字图像处理中的应用。 一、设计任务及要求 1.1 设计依据 GUI设计的主要依据是用户友好性和功能性。用户界面应直观易用,同时满足特定的图像处理功能需求,如...
内容详细说明:上篇:GUI制作 1.有两个GUI程序motion_detection.m和MotionDection2010.m,要实现的功能是打开motion_detection.m登录界面,点击其中的enter进入MotionDection2010.m界面进行运动目标检测及测速操作...
本篇论文详细介绍了如何利用MATLAB及其GUI功能对二阶低通电路的频率响应进行分析与仿真。 二阶低通电路是一种动态电路,其输出响应会随着电路参数或结构的变化而迅速变化。频率响应是指电路对不同频率信号的响应...
第三,详细阐述一下图像处理软件平台的制作方法。本文的GUI例子所制作的图像处理软件可以实现的功能有:五种常用的边缘检测、灰度直方图的显示、灰度直方图的均衡化、对比度自适应直方图的均衡化、图片的二值化以及...
本篇文章将详细介绍如何搭建最简单的GUI界面框架,帮助初学者快速入门。 一、选择合适的GUI库 在Python中,有许多库可以用来创建GUI界面,如Tkinter(内置库)、PyQt、wxPython、Kivy等。对于初学者来说,Tkinter...
本篇文章将重点介绍MATLAB GUI中的部分核心函数,帮助读者更好地理解和掌握这些函数的应用场景与实现方法。 #### 二、关键GUI函数详解 1. **`uicontrol`** - 创建用户界面控件。 - 这个函数用于创建各种控件,如...
本篇文章将详细讲解如何使用jd-gui来反编译Java文件。 首先,jd-gui是一个图形界面的Java反编译器,由JDI(Java Debug Interface)支持,它能够将已编译的Java字节码转换回可读性强的源代码。这对于调试、分析或者...
本篇文章将深入探讨Java GUI开发的基本原理,包括其设计技术以及一些高级特性。 一、Java GUI的基础 1. **AWT(Abstract Window Toolkit)框架**:这是Java早期提供的GUI库,包含了一系列基本的组件(如Button、...
自己写的论文基于GUI的...文章一共8页,写的非常详细,代码也比较多,希望想学习的朋友都来下载,另外,楼主一定要帮我点评一下,你的认可是对我最大的鼓励,希望这篇文章会是我的第2篇精品文章,诚望给予点评指正。
本篇内容来自清华大学的Java GUI界面编程课件,由雍俊海教授编写。课程可能涵盖了Java程序设计的基础知识以及深入到GUI设计的各个方面。 首先,雍俊海的《Java程序设计教程》是该课程的主要教材,出版于2007年,...