知识大全 Java Applet编程之实现显示图像
Posted 知
篇首语:少壮不努力,老大徒伤悲。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java Applet编程之实现显示图像相关的知识,希望对你有一定的参考价值。
Java Applet编程之实现显示图像 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java Applet常用来显示存储在GIF文件中的图像 Java Applet装载GIF图像非常简单 在Applet内使用图像文件时需定义Image对象 多数Java Applet使用的是GIF或JPEG格式的图像文件 Applet使用getImage方法把图像文件和Image对象联系起来 Graphics类的drawImage方法用来显示Image对象 为了提高图像的显示效果 许多Applet都采用双缓冲技术 首先把图像装入内存 然后再显示在屏幕上 Applet可通过imageUpdate方法测定一幅图像已经装了多少在内存中 装载一幅图像 Java把图像也当做Image对象处理 所以装载图像时需首先定义Image对象 格式如下所示 Image picture; 然后用getImage方法把Image对象和图像文件联系起来 picture=getImage(getCodeBase() ImageFileName GIF ); getImage方法有两个参数 第一个参数是对getCodeBase方法的调用 该方法返回Applet的URL地址 如/Applet 第二个参数指定从URL装入的图像文件名 如果图文件位于Applet之下的某个子目录 文件名中则应包括相应的目录路径 用getImage方法把图像装入后 Applet便可用Graphics类的drawImage方法显示图像 形式如下所示 g drawImage(Picture x y this); 该drayImage方法的参数指明了待显示的图像 图像左上角的x坐标和y坐标以及this 第四个参数的目的是指定一个实现ImageObServer接口的对象 即定义了imageUpdate方法的对象(该方法随后讨论) 显示图像(ShowImage java) //源程序清单 import java awt *; import java applet *; public class ShowImage extends Applet Image picure; //定义类型为Image的成员变量 public void init() picture=getImage(getCodeBase() Image gif ); //装载图像 public void paint(Graphics g) g drawImage(picture this); //显示图像 为此 HTML文件中有关Applet的语句如下 <HTML> <TITLE>Show Image Applet</TITLE> <APPLET CODE= ShowImage class //class文件名为ShowImage class WIDTH= HEIGHT= > </APPLET> </HTML> 编译之后运行该Applet时 图像不是一气呵成的 这是因为程序不是drawImage方法返回之前把图像完整地装入并显示的 与此相反 drawImage方法创建了一个线程 该线程与Applet的原有执行线程并发执行 它一边装入一边显示 从而产生了这种不连续现象 为了提高显示效果 许多Applet都采用图像双缓冲技术 即先把图像完整地装入内存然后再显示在屏幕上 这样可使图像的显示一气呵成 双缓冲图像 为了提高图像的显示效果应采用双缓冲技术 首先把图像装入内存 然后再显示在Applet窗口中 使用双缓冲图像技术例子(BackgroundImage java) //源程序清单 import java awt *; import java applet *; public class BackgroundImage extends Applet //继承Applet Image picture; Boolean ImageLoaded=false; public void init() picture=getImage(getCodeBase() Image gif ); //装载图像 Image offScreenImage=createImage(size() width size() height); //用方法createImage创建Image对象 Graphics offScreenGC=offScreenImage getGraphics(); //获取Graphics对象 offScreenGC drawImage(picture this); //显示非屏幕图像 public void paint(Graphics g) if(ImageLoaded) g drawImage(picture null); //显示图像 第四参数为null 不是this showStatus( Done ); else showStatus( Loading image ); public boolean imageUpdate(Image img int infoflags int x int y int w int h) if(infoflags= =ALLBITS) imageLoaded=true; repaint(); return false; else reture true; 分析该Applet的init方法可知 该方法首先定义了一个名为offScreenImage的Image对象并赋予其createImage方法的返回值 然后创建了一个名为offScreenGC的Graphics对象并赋予其图形环境——非屏幕图像将由它来产生 因为这里画的是非屏幕图像 所以Applet窗口不会有图像显示 每当Applet调用drawImage方法时 drawImage将创建一个调用imageUpdate方法的线程 Applet可以在imageUpdate方法里测定图像已有装入内存多少 drawImage创建的线程不断调用imageUpdate方法 直到该方法返回false为止 imageUpdate方法的第二个参数infoflags使Applet能够知道图像装入内存的情况 该参数等于ImageLoaded设置为true并调用repaint方法重画Applet窗口 该方法最终返回false 防止drawImage的执行线程再次调用imageUpdate方法 该Applet在paint方法里的操作是由ImageLoaded变量控制的 当该变量变为true时 paint方法便调用drawImage方法显示出图像 paint方法调用drawImage方法时把null作为第四参数 这样可防止drawImage调用imageUpdate方法 因为这时图像已装入内存 所以图像在Applet窗口的显示可一气呵成 cha138/Article/program/Java/hx/201311/26336相关参考
JavaApplet编程小技巧之文字显示 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 显示文字
JavaApplet编程技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JavaApplet
优化Java动画编程中的显示效果 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java动画编程
Java泛型编程之诀窍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb
Java编程思想之静态技术 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 静态技术包括静态数据静
Java:Applet布局问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! applet布局问
Java并发编程实践之ThreadLocal变量 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java高级编程之displayTag学习摘要 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! t
Java多线程编程基础之线程对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
JAVA编程解析之classpath的深入理解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 现