本文是在学习中的总结,欢迎转载但请注明出处: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. c++银行家算法

    #include <iostream> #include<string> #define False 0 #define True 1 using namespace std; ...

  2. 网络安全之在Kali Linux上安装Openvas

    本文目录: 一.解决和配置更新源问题 二.安装Openvas 三.自定义登陆密码 四.升级Openvas 五.查看Openvas运行情况 六.修改OpenVAS远程链接 =============== ...

  3. ACM hdu 3336 Count the string

    [题意概述] 给定一个文本字符串,找出所有的前缀,并把他们在文本字符串中的出现次数相加,再mod10007,输出和. [题目分析] 利用kmp算法的next数组 再加上dp [存在疑惑] 在分析nex ...

  4. Node.js 网络

    稳定性: 3 - 稳定 net 模块提供了异步网络封装,它包含了创建服务器/客户端的方法(调用 streams).可以通过调用 require('net') 包含这个模块. net.createSer ...

  5. Bootstrap3 表单-基本表单

    单独的表单控件会被自动赋予一些全局样式.所有设置了 .form-control 类的 <input>.<textarea> 和 <select> 元素都将被默认设置 ...

  6. Spring中配置DataSource的六种方式

    第一种:beans.xml <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource ...

  7. JBOSS EAP实战(2)-集群、NGINX集成、队列与安全

    JBOSS HTTP的Thread Group概念 JBOSS是一个企业级的J2EE APP Container,因此它和任何一种成熟的企业级中间件一样具有Thread Group的概念.所谓Thre ...

  8. hadoop入门级总结三:hive

    认识hive  Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务运行  Hive是建立在 ...

  9. SQL Join各种内联外联说明

    Visual Representation of SQL Joins C.L. Moffatt, 3 Feb 2009 CPOL    4.96 (406 votes) Rate this: This ...

  10. Asp.net 在刷新或提交页面后保持滚动条的位置

    网页内容在较长时,每次回传刷新页面或提交网页时都会定位到最顶端,非常不利于用户交互. 将Page.MaintainScrollPositionOnPostBack属性值设置为true即可实现刷新后保持 ...