JAVA应用程序转换为Applet
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41673295
将一个图形的JAVA应用程序转换为能够嵌入在网页中运行的applet很容易,从本质上来说,所有用户界面编码都是相同的,
将应用程序转化为applet代码基本步骤为:
(1)创建一个HTML页面,并用适当的标记加载applet代码。
(2)创建一个JApplet类的子类。将这个子类标记为共有,否则,不能加载applet。
(3)删除应用程序中的main方法。不要为应用程序构造框架窗口。应用程序将显示在浏览器中。
(4)将框架窗口构造器中的初始化代码移到applet的init方法中。不需要明确地构造applet对象。浏览器负责实例化并调用init方法。
(5)删除对setSize的调用。在applet中,大小由HTML中的width和height参数确定定义。
(6)删除对setDefaultCloseOperation的调用。不要关闭applet,退出浏览器时它会自动终止运行。
(7)如果应用程序调用setTitle,要删除这个调用,Applet没有标题栏。(也可以使用HTML的title标记为网页设置标题)
(8)不需要调用setVisible(true)。Applet会被自动显示出来。
1.Applet的HTML标记和属性
<applet code = "MyApplet.class" width = "300" height="300">
ABCDEFGHIJK (这里的文字只有浏览器不支持applet才会显示出来)
</applet>
注意:code指出类名,必须包括.class扩展名,width和height属性确定applet窗口大小,以像素为单位。
2.使用参数向applet传递信息
applet可以嵌入在HTML中的参数,这是由使用被称为param的的HTML标记连同自定义属性完成的。
需要注意的是:只能在applet的init方法中调用getPatameter方法,而不是在构造器中调用。因为当applet构造器被执行时,参数还没准备好。
<applet code="FontParamApplet.class" width="200" height="200">
<param name="font" value="Helvetica"/>
<param name="size" value="30"/>
</applet>
public class FontParamApplet extends JApplet{
public void init(){
String fontName = getPatameter("font");
int fontSize = Integer.parseInt(getPatameter("size"));
...
}
}
3. 简单的示例代码如下:
public class MyApplet extends JApplet {
public void init(){
EventQueue.invokeLater(new Runnable(){
@Override
public void run() {
JLabel label = new JLabel("Not a Hello, World applet",SwingConstants.CENTER);
add(label);
}
});
}
}
4.如果想让程序以网页的形式打开并显示,就需要配置Applet与HTML之间的参数,将参数传递给Applet,并使用标记加载Apple。将编译完成的class文件和HTML文件放在同一个文件夹中,直接用浏览器代开HTML文件即可,需要注意的是浏览器需要安装JAVA插件,否则不能够正常的显示。
完整的实例如下所示:
/**Applet**/
public class MyApplet extends JApplet {
double f(double x) {
return (Math.cos(x / 5) + Math.sin(x / 7) + 2) * getSize().height / 4;
}
public void paint(Graphics g) {
for (int x = 0; x < getSize().width; x++) {
g.drawLine(x, (int) f(x), x + 1, (int) f(x + 1));
}
}
public String getAppletInfo() {
return "Draws a sin graph.";
}
}
/**HTML**/
<html>
<head>
<title>Applet</title>
</head>
<body>
<hr>
<applet code=MyApplet.class width=300 height=120>
alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason."
Your browser is completely ignoring the <APPLET> tag!
</applet>
<hr>
<a href="MyApplet.java">The source</a>.
</body>
</html>
JAVA应用程序转换为Applet的更多相关文章
- 一个简单的Java应用程序
目录 一个简单的Java应用程序 首次运行结果 程序示例 运行结果 修改大小写之后的运行结果 程序示例 运行结果 关键字public 关键字class 类名及其命名规则 类名必须以字母开头 不能使用J ...
- 《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》
Application和Java Applet的区别.Java语言是一种半编译半解释的语言.Java的用户程序分为两类:Java Application和Java Applet.这两类程序在组成结构和 ...
- 框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口
框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口. 与Frame不同,Applet是在网页中显示的,也可以通过添加Panel进行组件布局. package TomAwt; im ...
- Applet和普通的Java应用程序有什么区别?
(1)运行方式不同.Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行.Java Application是完整的程序,可以 ...
- Java初中级程序员面试题宝典
Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...
- java\c程序的内存分配
JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机.只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该 ...
- 编写一个JAVA小程序取得IP地址
在TCP/IP 互联网时,经常会需要查询自己主机的IP地址和www服务器的IP地址.虽然,我们可以使用IPCONFIG 和PING 进行IP地址查询,但是如果在应用程序或APPLET中使用此命令会破坏 ...
- 集成自动化的条形码功能到internet应用程序,网站或自定义Java应用程序的条码控件Java Barcode Package
Java Barcode Package控件是一款条码生成控件,包含所有的JavaBean,Applets,Servlets和类库可以使用于装有Java虚拟机的任何平台,包括Windows®, Lin ...
- 使用 Acegi 保护 Java 应用程序
第 1 部分: 架构概览和安全过滤器 Acegi Security System 是一种功能强大并易于使用的替代性方案,使您不必再为 Java 企业应用程序编写大量的安全代码.虽然它专门针对使用 Sp ...
随机推荐
- iis部署python运行环境
IIS部署 1.启用或者关闭windows功能,选择安装CGI,我这里已经安装过了. 2.安装后重新打开IIS看到CGI 3.配置ISAPI和CGI限制 4.右上角添加,路径是python安装路径,注 ...
- net框架运行原理
核心是CLR(通用语言运行时), c#或者其它各种语言编译原理:将原代码通过相对的编译器(语法检查原代码分析)生成IL代码托管(IL也称托管代码),最后得到一个托管模块,一个或多个托管模块组成程序集( ...
- ftp传二进制文件时一定要用二进制模式,否则内容会有变化,造成后处理莫名其妙的错误,还以为传输前后内容一致,其实已变化。
ftp传二进制文件时一定要用二进制模式,否则内容会有变化,造成后处理莫名其妙的错误,还以为传输前后内容一致,其实已变化.
- 闭关修炼屯题中,期末考完A
FJUTOJ 1279 #include <cstdio> #include <iostream> #include <algorithm> #include &l ...
- PTA中提交Python3程序的一些套路
0. FAQ 0.1 提交后提示"答案错误"或者"格式错误" PTA检查答案正确与否是通过字符串匹配实现的.所以可能有以下几种原因: 格式错误:程序的输出要与题 ...
- 一些有用的Java参考资料
Better Java,一些好的Java实践 Google Java Style Guide 30个Java编程技巧 JDK8新增语法特性简介,对Java8中新增的函数接口.Lambda表达式.方法引 ...
- Twitter 架构优化之路--Twitter是如何做到每秒处理3000张图片的
如今,Twitter每秒可以创建并保存3000张(20GB)的图片.2015年,Twitter甚至从对媒体存储策略的优化中节省出了600万美元. 但并非一开始就是这样的,2012年Twitter还主要 ...
- Hadoop2动态调整Log级别-以datanode的heartbeat log为例
在Hadoop中,有些log信息在正常情况下是不打印出来的.比如datanode发送heartbeat的日志. 代码位于BPServiceActor#sendHeartBeat方法中,如下图: 由于默 ...
- Android Multimedia框架总结(八)Stagefright框架之AwesomePlayer及数据解析器
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52503057 前言:前面一篇分析了medi ...
- ScrollView的阻尼回弹效果实现(仿qq空间)
玩过新浪微博,qq空间等手机客户端的童鞋,都应该清楚,在主界面向下滑动时,会有一个阻尼回弹效果,看起来挺不错,接下来我们就来实现一下这种效果,下拉后回弹刷新界面,先看效果图: 这个是编辑器里面的界面效 ...