本文是在学习中的总结,欢迎转载但请注明出处: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. 百钱买百鸡问题Java

    //百钱买百鸡public class baiqianbaiji { static void BQBJ(int m,int n)//m为钱的总数,n为鸡数 { int z; for(int x = 0 ...

  2. 工作流引擎 Flowable 6.0.0.RC1 release,完全兼容Activi

    Flowable 6.0.0.RC1 release,第一个可流动的6引擎版本(6.0.0.RC1). Flowable 6.0.0.RC1 relase新增加的功能以及特色: 包重命名为org.Fl ...

  3. strut2接收参数的三种方式

    strut2接收参数有三种方式(普通属性\领域对象\模型驱动),分别对三种进行一个总结: 一.普通属性 Jsp代码 <body> <h1>普通属性</h1> < ...

  4. Maven 核心原理

    Maven 核心原理 标签 : Java基础 Maven 是每一位Java工程师每天都会接触的工具, 但据我所知其实很多人对Maven理解的并不深, 只把它当做一个依赖管理工具(下载依赖.打包), M ...

  5. J2EE进阶(十五)MyEclipse反向工程实现从数据库反向生成实体类之Hibernate方式

    J2EE进阶(十五)MyEclipse反向工程实现从数据库反向生成实体类之Hibernate方式   反向工程又称逆向工程.   开发项目涉及到的表太多,一个一个的写JAVA实体类很是费事.MyEcl ...

  6. Java异常处理-----Throwable类

    Throwable类 1.toString() 输出该异常的类名. 2.getMessage() 输出异常的信息,需要通过构造方法传入异常信息(例如病态信息). 3.printStackTrace() ...

  7. Java 资源本地化与国际化

    资源包 在编写应用程序的时候,需要面对的一个问题是如何来处理与locale相关的一些信息.比如,页面上的一些静态文本就希望能够以用户习惯的语言显示.最原始的做法是将这些信息硬编码到程序中(可能是一大串 ...

  8. Android简易实战教程--第二十九话《创建图片副本》

    承接第二十八话加载大图片,本篇介绍如何创建一个图片的副本. 安卓中加载的原图是无法对其修改的,因为默认权限是只读的.但是通过创建副本,就可以对其做一些修改,绘制等了. 首先创建一个简单的布局.一个放原 ...

  9. 开源框架Slidingmenu的基本使用

    转载本博客请标明出处:点击打开链接      http://blog.csdn.net/qq_32059827/article/details/52464262 侧滑菜单在开发中经常用到,而Slidi ...

  10. Android源码分析—深入认识AsyncTask内部机制

    本文转载http://blog.csdn.net/singwhatiwanna/article/details/17596225该博主博文,谢谢该博主提供的好文章! 前言 什么是AsyncTask,相 ...