- 浏览: 118750 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (135)
- java (135)
- [转]c# 画圆角矩形 (1)
- 设计模式生活实例 (1)
- .nET2.0小技巧 (1)
- 从另一个角度看敏捷实践(一)--IPM:承诺的仪式 (1)
- javascript字符串转json对象 (1)
- 使用BeanUtils时,Date类型值为空的解决方法 (1)
- Lenovo V460+Ubuntu 11.10 无线网问题 (1)
- Lucene 索引和搜索过程核心类详解 (1)
- Android短信编解码方式 (1)
- 股神巴菲特十大致富秘籍 (1)
- Map遍历的三种方法 (1)
- Android中用Toast.cancel()方法优化toast内容的显示 (1)
- ViewFlipper “Receiver not registered” Error (1)
- javax.xml.transform.TransformerFactoryConfigurationError (1)
- JNI调用的注意事项 (1)
- JUnit单元测试感悟 (1)
- 用C#写定时关机的程序 (1)
- ASP.NET开发工具Web Matrix介绍 (1)
- MapXtreme2004代码 MapControl控件中显示地图文件 (1)
- 《使用 Microsoft .NET 的企业解决方案模式》读书笔记3 (1)
- 微创短信开发平台 (1)
- 谈谈Q+平台的技术实现 (1)
- 手机防盗软件实现(源码) (1)
- 虚析构函数(总结 帖子) (1)
- c语言中去除const修饰 (1)
- ORA-01012: not logged on 解决办法 (1)
- paypal提现如何省钱 (1)
- 数独suduku (1)
- MyISAM InnoDB 区别 (1)
- 随 笔 (1)
- Android上的log,日志相关 (1)
- 百度质量部实习居然通过了~ (1)
最新评论
-
野狐禅:
ext.get('imagebrowse') is null
ExtJs上传图片预览功能 -
zhuyl_wind:
不切实际,呵呵
[]5年内买车买房-理财篇 -
in南京:
关键你那两千块钱就够交一个多月的房租!换个城市你那六百也远远不 ...
[]5年内买车买房-理财篇 -
javac_xinyun:
呵呵,看完了,确实不错,貌似第一年的房租每月算进去 ,人际关系 ...
[]5年内买车买房-理财篇 -
dishikun:
貌似很不错,就是没把房租算进去!
[]5年内买车买房-理财篇
一、java applet的运行原理和生命周期
1.applet被嵌入到html页面中,并由applet的容器(appletviewer或者web浏览器)执行.
2.applet的运行由浏览器控制,不由applet中的代码控制.当浏览器载入包含由applet的web页面时,它将生成一个 applet类的对象,然后利用 applet类对象的五个public的void方法控制applet的执行,这五个方法如下:init,start,paint,stop,destory;
3.applet有5个public的void方法(applet的生命周期):
init()
启动applet,浏览器总是调用applet类的默认构造器生成对象,然后调用init()方法经行初始化.一般在这个方法中生成applet运行所需的对象并初始化applet类的所有数据成员.
start()
由浏览器调用.启动或者重新启动applet.当applet第一此启动时,start方法将紧跟init()方法后被浏览器调用.如果用户离开当前的 html页面后,在重新返回到当前html页面时,start()方法也会调用.start()方法一般用来启动applet需要的人和附加线程
paint(graphics g)
在init()方法执行结束,start()方法启动之后,就调用此方法画图.另外,每次需要重新绘制applet时,也将调用此方法.本方法的典型应用,包括是使用applet容器传递给paint()方法graphics对象g画图.
stop()
当用户离开包含该applet的html页面时,浏览器调用此方法.stop方法被调用后,将立即停止所有在start()方法中启动的操作.
destory()
在终止applet运行时,调用destory()方法,以便释放applet占用的,由本地操作系统管理的任何系统资源.此方法执行之前,总是先调用stop()方法.
二、java applet编程
1.paint方法中的graphics对象g的创建由applet容器(appletviewer或者web浏览器)负责.
2.在paint(graphics g)方法中,第一句常写上super.paint(g),用来调用父类applet的paint方法.一般情况下没有该语句也可以运行,但在一个拥有众多绘图组件和gui组件的复杂applet中,忽略该语句可能导致严重的错误.所以,在编写applet程序的时候,一定在paint方法的的一行设置这条语句,这是一个很好的编程习惯.
import java.awt.graphics;
import javax.swing.japplet;
public class drawmultistringapplet2 extends japplet{
// 在applet上绘制文本
public void paint(graphics g){
super.paint(g);
g.drawstring("java tm applet", 25, 25);
}
}
3.java坐标系的原点在左上角,以像素为单位.像素是计算机屏幕上最小的显示单位.
4.在java中绘制文本的时候,加入" "换行符是不能换行的,有时会显示出一个黑框表示未知字符,或者干脆显示不出来.
5.image类是一个抽象类,所以?applet不能直接创建image类的对象,applet必须调用一个方法,让applet容器加载并返回程序要使用的inmage类的对象.japplet的超类applet提供了一个名为getimage的方法,该方法将image加载到applet 中,方法接收两个参数---图像文件的位置和文件名.例如;logojpg = getimage(getdocumentbase(), "logo.jpg");
6.repaint()方法被调用的时候,需要清除整个背景,然后才调用paint方法显示画画.这样在清除背景河绘制图像的短暂时间间隔内被用户看见的就是闪烁.下面的两种方法可以明显地消除或者减弱闪烁:
重载update()方法
当awt接受到applet重新绘制的请求的时,调用applet的update方法.默认情况下,update方法清除applet的背景,然后调用 paint方法.重载update方法,就可以将以前在paint方法中绘图代码包含在applet方法中,从而避免每次重新绘制试将整个区域清除.
双缓冲技术
双缓冲技术在很多动画applet中被采用.主要原理是创建一幅后台图像,将每一帧画入图像,然后调用drawimage方法,将整个后台图像一次画到屏幕上去.这种方法的优点在于大部分绘制是在后台进行的.将后台绘制的图像一次绘制到屏幕上.在创建后台图像前,首先通过调用createimage方法生成合适的后台缓冲区,然后获得在缓冲区的绘图环境(即graphics类对象).
总结: 综上所述,改善画图的思路是:不直接在paint方法中调用各种绘制方法,而是采用重载update方 法及双缓冲技术,生成一个图像的缓冲区,获得该缓冲区中的绘图环境后,将该绘图环境读入内存.paint方法不再负责图像的绘制工作,即paint方法不再装入任何的图像绘制代码.我们在paint方法中,直接调用update方法,在内存缓冲区的绘图环境下进行图像的绘制工作,当所有的图像绘制工作完成后,最后将缓冲区的内容一次性地写入applet 并在applet窗口直接显示出来.这种方法很巧妙地解决了图像丢失河闪烁的问题.
三、java applet的深入学习
学习java applet资料实在太容易获得了,在你安装了jdk后,在jdk里面有个demo目录,里面有applet精品源代码,个个堪称经典,运行这些 applet代码,你会发现applet的功能是如此的强大,实现三位的图形,丰富多彩的动画,时钟等等。
四、applet的应用领域
现在,随着flash的火爆流行,applet已经淡出了实现丰富多彩网页动画舞台。现在applet一般应用于复杂动态的web应图形领域、人机交互等等。比如可以用applet实现股票代码的动态曲线绘制,展示在页面中,还可以用applet做一些基于浏览器的复杂实时web监控系统系统,比如要通过 internate或者intranet实现对工厂机器运转参数的检测等等,这些都是其他web技术难以实现的。
1.applet被嵌入到html页面中,并由applet的容器(appletviewer或者web浏览器)执行.
2.applet的运行由浏览器控制,不由applet中的代码控制.当浏览器载入包含由applet的web页面时,它将生成一个 applet类的对象,然后利用 applet类对象的五个public的void方法控制applet的执行,这五个方法如下:init,start,paint,stop,destory;
3.applet有5个public的void方法(applet的生命周期):
init()
启动applet,浏览器总是调用applet类的默认构造器生成对象,然后调用init()方法经行初始化.一般在这个方法中生成applet运行所需的对象并初始化applet类的所有数据成员.
start()
由浏览器调用.启动或者重新启动applet.当applet第一此启动时,start方法将紧跟init()方法后被浏览器调用.如果用户离开当前的 html页面后,在重新返回到当前html页面时,start()方法也会调用.start()方法一般用来启动applet需要的人和附加线程
paint(graphics g)
在init()方法执行结束,start()方法启动之后,就调用此方法画图.另外,每次需要重新绘制applet时,也将调用此方法.本方法的典型应用,包括是使用applet容器传递给paint()方法graphics对象g画图.
stop()
当用户离开包含该applet的html页面时,浏览器调用此方法.stop方法被调用后,将立即停止所有在start()方法中启动的操作.
destory()
在终止applet运行时,调用destory()方法,以便释放applet占用的,由本地操作系统管理的任何系统资源.此方法执行之前,总是先调用stop()方法.
二、java applet编程
1.paint方法中的graphics对象g的创建由applet容器(appletviewer或者web浏览器)负责.
2.在paint(graphics g)方法中,第一句常写上super.paint(g),用来调用父类applet的paint方法.一般情况下没有该语句也可以运行,但在一个拥有众多绘图组件和gui组件的复杂applet中,忽略该语句可能导致严重的错误.所以,在编写applet程序的时候,一定在paint方法的的一行设置这条语句,这是一个很好的编程习惯.
import java.awt.graphics;
import javax.swing.japplet;
public class drawmultistringapplet2 extends japplet{
// 在applet上绘制文本
public void paint(graphics g){
super.paint(g);
g.drawstring("java tm applet", 25, 25);
}
}
3.java坐标系的原点在左上角,以像素为单位.像素是计算机屏幕上最小的显示单位.
4.在java中绘制文本的时候,加入" "换行符是不能换行的,有时会显示出一个黑框表示未知字符,或者干脆显示不出来.
5.image类是一个抽象类,所以?applet不能直接创建image类的对象,applet必须调用一个方法,让applet容器加载并返回程序要使用的inmage类的对象.japplet的超类applet提供了一个名为getimage的方法,该方法将image加载到applet 中,方法接收两个参数---图像文件的位置和文件名.例如;logojpg = getimage(getdocumentbase(), "logo.jpg");
6.repaint()方法被调用的时候,需要清除整个背景,然后才调用paint方法显示画画.这样在清除背景河绘制图像的短暂时间间隔内被用户看见的就是闪烁.下面的两种方法可以明显地消除或者减弱闪烁:
重载update()方法
当awt接受到applet重新绘制的请求的时,调用applet的update方法.默认情况下,update方法清除applet的背景,然后调用 paint方法.重载update方法,就可以将以前在paint方法中绘图代码包含在applet方法中,从而避免每次重新绘制试将整个区域清除.
双缓冲技术
双缓冲技术在很多动画applet中被采用.主要原理是创建一幅后台图像,将每一帧画入图像,然后调用drawimage方法,将整个后台图像一次画到屏幕上去.这种方法的优点在于大部分绘制是在后台进行的.将后台绘制的图像一次绘制到屏幕上.在创建后台图像前,首先通过调用createimage方法生成合适的后台缓冲区,然后获得在缓冲区的绘图环境(即graphics类对象).
总结: 综上所述,改善画图的思路是:不直接在paint方法中调用各种绘制方法,而是采用重载update方 法及双缓冲技术,生成一个图像的缓冲区,获得该缓冲区中的绘图环境后,将该绘图环境读入内存.paint方法不再负责图像的绘制工作,即paint方法不再装入任何的图像绘制代码.我们在paint方法中,直接调用update方法,在内存缓冲区的绘图环境下进行图像的绘制工作,当所有的图像绘制工作完成后,最后将缓冲区的内容一次性地写入applet 并在applet窗口直接显示出来.这种方法很巧妙地解决了图像丢失河闪烁的问题.
三、java applet的深入学习
学习java applet资料实在太容易获得了,在你安装了jdk后,在jdk里面有个demo目录,里面有applet精品源代码,个个堪称经典,运行这些 applet代码,你会发现applet的功能是如此的强大,实现三位的图形,丰富多彩的动画,时钟等等。
四、applet的应用领域
现在,随着flash的火爆流行,applet已经淡出了实现丰富多彩网页动画舞台。现在applet一般应用于复杂动态的web应图形领域、人机交互等等。比如可以用applet实现股票代码的动态曲线绘制,展示在页面中,还可以用applet做一些基于浏览器的复杂实时web监控系统系统,比如要通过 internate或者intranet实现对工厂机器运转参数的检测等等,这些都是其他web技术难以实现的。
发表评论
-
百度质量部实习居然通过了~
2012-02-08 12:23 985[size=small;]? ? ?本来打算在软工所苦 ... -
Android上的log,日志相关
2012-02-07 14:18 1524摘自:http://blog.csdn.net/met ... -
随 笔
2012-02-04 13:39 595金风玉露一相逢,便胜却人间无数。英文版: chemis ... -
MyISAM InnoDB 区别
2012-02-02 16:59 731<h1 id="artibody ... -
数独suduku
2012-01-31 14:38 914sudu sudu sudu sudu sudu su ... -
paypal提现如何省钱
2011-12-28 16:58 1221据PayPal中文注册得知,如今很多收样品费的外贸商户 ... -
ORA-01012: not logged on 解决办法
2011-12-28 13:08 3490<span style="font-f ... -
c语言中去除const修饰
2011-12-21 10:54 1425[size=16px;]<span style= ... -
虚析构函数(总结 帖子)
2011-12-21 09:54 698<span style="" ... -
手机防盗软件实现(源码)
2011-12-20 12:54 935<a href="http://blo ... -
谈谈Q+平台的技术实现
2011-12-20 09:49 960这篇文章是我个人 ... -
微创短信开发平台
2011-12-19 11:39 767在网上闲逛,发现了一个站点,微创短信开发平台(http ... -
《使用 Microsoft .NET 的企业解决方案模式》读书笔记3
2011-12-19 10:24 776第3章 Web表示模式 没有一个设计策略能够适合所有情 ... -
MapXtreme2004代码 MapControl控件中显示地图文件
2011-12-15 14:29 901::<?xml:namespace prefix ... -
ASP.NET开发工具Web Matrix介绍
2011-12-15 13:39 965<p class="MsoPlain ... -
用C#写定时关机的程序
2011-12-15 11:14 702</span></font>& ... -
JUnit单元测试感悟
2011-12-14 11:29 860<p class="MsoNorma ... -
JNI调用的注意事项
2011-12-14 09:34 749JNI的简单教程网上很多,看看就能够明白,照着操作也基 ... -
javax.xml.transform.TransformerFactoryConfigurationError
2011-12-13 13:34 848<span style="" ... -
ViewFlipper “Receiver not registered” Error
2011-12-12 10:59 1122偶尔出现这个错误: <span> < ...
相关推荐
Java+Applet实例讲解(分为1和2两部分)、Java+Applet实例编程、java+Applet登录、JavaApplet教程.pdf、JAVA_applet应用实例.ppt、JavaApplet编程技巧实例专辑、javaapplet例子.doc、Applet类.doc等教程。...
通过这个JavaApplet实例讲解以及教程大全,学习者不仅可以了解Applet的基本概念,还能通过实践案例掌握其开发技巧。随着Java技术的发展,虽然Applet的使用已经减少,但理解其工作原理对于理解Java的Web客户端编程...
在本实例讲解中,我们将深入理解Java Applet的工作原理、生命周期、以及如何在实际项目中使用它们。 首先,让我们了解什么是Java Applet。Java Applet是一种由Java编写的客户端应用程序,它可以嵌入到HTML页面中并...
本文将深入讲解Java Applet的概念、工作原理以及如何通过实例进行学习。 一、Java Applet概述 Java Applet是Java平台的一个组成部分,主要用于在网页中嵌入动态内容。它们由Java编写的类组成,这些类继承自`java....
总结来说,这个Java Applet专辑提供了一个全面学习和实践Java Applet编程的平台,通过实例教学,帮助开发者深入理解Applet的原理和应用,虽然现在Applet的使用已经减少,但它的知识仍然对于理解Web开发的历史和技术...
这个Java Applet技术文档对于想要深入理解Web客户端编程的开发者来说是一份宝贵的资源。通过学习,你可以掌握如何使用Java创建动态的、交互式的网页元素,以及如何应对与安全性和跨平台性相关的挑战。随着技术的发展...
即使你不喜欢和编程语言打交道,网上有很多做好的java小程序,把他们插到我们的页面中,几乎和插入一个图形文件是一样容易的。为了形象的说明这一点,我们来对照的看一下在网页中插图和插入Java小程序。
总的来说,Java的线程机制和Applet是Java编程中的关键概念,它们分别提供了多任务处理能力和在网络环境下的交互式内容展示。理解这些概念对于深入学习Java编程和开发复杂的Java应用程序至关重要。
总之,"用JavaApplet编写的俄罗斯方块"项目为学习JavaApplet编程和游戏开发提供了一个实际的案例。通过分析这个项目,不仅可以深入理解JavaApplet的工作原理,还能掌握如何将抽象的编程概念应用于实际游戏开发,提升...
本教程包含丰富的实例,旨在帮助初学者深入理解和掌握Java Applet的编程技巧。 首先,理解Java Applet的基础概念至关重要。Java Applet是一种特殊的Java类,它继承自Java的`java.applet.Applet`类或者`javax.swing....
本教程“Building a Java applet”将深入讲解如何构建和使用Java Applets。 一、Java Applet简介 Java Applet是Java平台的一部分,主要用于增强网页的交互性。它们可以被嵌入到HTML页面中,由Java Virtual Machine ...
Java范例程序2.rar_applet_java Applet 是一个与Java编程相关的资源压缩包,主要涵盖了多线程和Applet这两个核心知识点。Applet是Java语言中的一个重要概念,它是一种小型的Java程序,可以在Web浏览器中运行,为网页...
完整版java基础入门教程由浅入深讲解 Java语言编程基础 第11章 Applet与多媒体(共48页).ppt 完整版java基础入门教程由浅入深讲解 Java语言编程基础 第12章 IO技术与文件管理(共28页).ppt 完整版java基础入门教程...
"色站导航.reg"看起来与主题无关,可能是误放或者需要谨慎处理的文件,"readme.txt"通常会提供关于软件或项目的基本信息和使用提示,而"java.applet实例讲解"可能是包含具体Java Applet编程示例的文档,对于学习和...
然而,这也使得applet的功能受到了很大限制,这是Java Applet逐渐被其他技术如JavaScript和Flash取代的原因之一。 尽管Java Applet在现代Web开发中已经不再流行,但它在理解Java的网络编程、安全性和客户端应用程序...