本文是在学习中的总结,欢迎转载但请注明出处: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的更多相关文章

  1. 一个简单的Java应用程序

    目录 一个简单的Java应用程序 首次运行结果 程序示例 运行结果 修改大小写之后的运行结果 程序示例 运行结果 关键字public 关键字class 类名及其命名规则 类名必须以字母开头 不能使用J ...

  2. 《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》

    Application和Java Applet的区别.Java语言是一种半编译半解释的语言.Java的用户程序分为两类:Java Application和Java Applet.这两类程序在组成结构和 ...

  3. 框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口

    框架一般用作Java应用程序的窗口,而Applet是Java小程序的窗口. 与Frame不同,Applet是在网页中显示的,也可以通过添加Panel进行组件布局. package TomAwt; im ...

  4. Applet和普通的Java应用程序有什么区别?

    (1)运行方式不同.Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行.Java Application是完整的程序,可以 ...

  5. Java初中级程序员面试题宝典

    Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...

  6. java\c程序的内存分配

    JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机.只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该 ...

  7. 编写一个JAVA小程序取得IP地址

    在TCP/IP 互联网时,经常会需要查询自己主机的IP地址和www服务器的IP地址.虽然,我们可以使用IPCONFIG 和PING 进行IP地址查询,但是如果在应用程序或APPLET中使用此命令会破坏 ...

  8. 集成自动化的条形码功能到internet应用程序,网站或自定义Java应用程序的条码控件Java Barcode Package

    Java Barcode Package控件是一款条码生成控件,包含所有的JavaBean,Applets,Servlets和类库可以使用于装有Java虚拟机的任何平台,包括Windows®, Lin ...

  9. 使用 Acegi 保护 Java 应用程序

    第 1 部分: 架构概览和安全过滤器 Acegi Security System 是一种功能强大并易于使用的替代性方案,使您不必再为 Java 企业应用程序编写大量的安全代码.虽然它专门针对使用 Sp ...

随机推荐

  1. 将Python当作计算器

    在交互模式中,最近一个表达式的值赋给变量 _.这样我们就可以把它当作一个桌面计算器,很方便的用于连续计算.例如: >>> price = 1.25 #声明变量price >&g ...

  2. C++笔记002:VS2010报错:LINK fatal error LNK1123 转换到 COFF 期间失败文件无效或损坏

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 错误描述: 1>------ 已启动生成: 项目: FirstCode, 配置: Debug Win32 ------ 1>生 ...

  3. FJUT寒假作业第二周G题解快速幂

    题目来源:http://210.34.193.66:8080/vj/Contest.jsp?cid=161#P6     题意:求n个数字的乘积对c取摸.主要就是有快速幂扩展到广义幂的过程. 首先题目 ...

  4. PHP If...Else 语句

    PHP If...Else 语句 条件语句用于根据不同条件执行不同动作. PHP 条件语句 当您编写代码时,您常常需要为不同的判断执行不同的动作.您可以在代码中使用条件语句来完成此任务. 在 PHP ...

  5. windows上安装nodejs,升级npm,安装webpack指南

    安装nodejs https://nodejs.org/en/ 安装webpack和其他一些常用的 npm install -g node-gyp webpack coffee-script 监控 w ...

  6. FORM中调用JAVA组件

    调用方式: 链接:可以在一个数据块中创建专门的 Bean Area项,使用 Implementation Class 特性链接到J a v a B e a n,使用W h e n - C u s t ...

  7. Dynamics CRM 通过RetrieveEntityRibbonRequest和RetrieveApplicationRibbonRequest导出实体的Ribbon XML

    今天看到勇哥的博客介绍了两个request指令用来导出实体的Ribbon XML,在没有工具之前编辑ribbon都是手工导出xml然后编辑的对于很多一开始接触CRM就用工具的人可能不是很熟悉.查了下这 ...

  8. 剑指Offer——贪心算法

    剑指Offer--贪心算法 一.基本概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解.虽然贪心算法不能对 ...

  9. 05 Activity 回传数据

    当从一个Activity跳转到第二个Activity后然 让其处理完业务逻辑回传数据给第一个Activity: 回传调用方法顺序: onActivityResult--->>onResta ...

  10. 【java集合框架源码剖析系列】java源码剖析之TreeMap

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本.本博客将从源码角度带领大家学习关于TreeMap的知识. 一TreeMap的定义: public class TreeMap&l ...