该文章和上一篇的写作原因都是一样一样的,都是这次工作所使然。
将applet改为application的过程中,如果applet中没有对image的操作,那么改起来是很easy,按照上文所讲,加一个main()函数就OK,但是如果applet里有对image的操作的话,就稍微有些麻烦:
applet 文件原先的内容:
void initForm()
{
this.setBackground (Color.orange);
if(off_drag==null){
off_drag = createImage(width/4,height/4);
off_drag_buf = off_drag.getGraphics ();
}
}
其中的off_drag是一个Image类型,这里off_drag总是为空,造成图像的加载失败;
首先查看java api,了解一下原理,原来createImage(width/4,height/4);的作用就是创建一个双缓存图像,但是为什么为空呢?
上网google,得出了一个结论,这个好像是sun 公司编写的java api 的一个debug,该函数很有可能一直返回空。
既然该createImage(width/4,height/4)不稳定,那我能不能不用这个函数呢,反正java api里的函数那么多,我找个功能一样的不就完了吗?
再次google,有一个叫BufferedImage的类不错,这个是一次缓冲的图像,
将off_drag的类型修改为BufferedImage类型,
修改代码:
void initForm()
{
this.setBackground (Color.orange);
if(off_drag==null){
off_drag = new BufferedImage(width/4,height/4,BufferedImage.TYPE_3BYTE_BGR);
off_drag_buf = off_drag.getGraphics ();
}
}
这时就OK了,off_drag不在为null.
贴一下效果图,让大家爽一下:
补充一下:在applet里可以通过下面的方法:
MediaTracker tracker= new MediaTracker (this);
//要载入的图片
pic[0]=getImage(getCodeBase(),"PICTURE0.JPG");
pic[1]=getImage(getCodeBase(),"PICTURE1.JPG");
pic[2]=getImage(getCodeBase(),"PICTURE2.GIF");
getCodeBase()方法是获取载入该applet文件的html文件的位置,因为在application里没有html了,所以该方法会报错,google了一下,网上有说改为getDocumentBase()方法,但是也达不到正确的结果,可以用toolkit来加载图像。
Toolkit toolkit = Toolkit.getDefaultToolkit();
pic[0] = toolkit.getImage("PICTURE0.JPG");
pic[1] = toolkit.getImage("img/PICTURE1.JPG");
pic[2] = toolkit.getImage("img/PICTURE2.GIF");
分享到:
相关推荐
适合练手、课程设计、毕业设计的Java项目源码:家庭理财系统(java+applet).rar 适合练手、课程设计、毕业设计的Java项目源码:家庭理财系统(java+applet).rar 适合练手、课程设计、毕业设计的Java项目源码:家庭理财...
适合练手、课程设计、毕业设计的Java项目源码:阳光酒店管理系统(javaapplet+SQL).rar 适合练手、课程设计、毕业设计的Java项目源码:阳光酒店管理系统(javaapplet+SQL).rar 适合练手、课程设计、毕业设计的Java项目...
适合练手、课程设计、毕业设计的Java项目源码:聊天系统(java+applet).rar 适合练手、课程设计、毕业设计的Java项目源码:聊天系统(java+applet).rar 适合练手、课程设计、毕业设计的Java项目源码:聊天系统(java+...
java Application与java Applet的区别
javaapplication和javaapplet的区别
适合练手、课程设计、毕业设计的Java项目源码:图片浏览小程序(java+applet).rar 适合练手、课程设计、毕业设计的Java项目源码:图片浏览小程序(java+applet).rar 适合练手、课程设计、毕业设计的Java项目源码:图片...
Java的线程和Java AppletJava的线程和Java AppletJava的线程和Java AppletJava的线程和Java AppletJava的线程和Java Applet
有关JavaApplet和JavaApplication一些介绍
内有编写计算器、日历以及时钟的Java程序源代码,应用多种方法(有Application(CUI与GUI)和Applet)编写。
java applet 与 Java application的区别.mm 使用freemind打开
按Java Application和Applet两种方式分别编写程序,求一元二次方程ax2+bx+c=0的根(系数在程序中给定),并输出。
java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小程序(java+applet)java图片浏览小...
(java+applet) 实现 图片浏览小程序(java+applet) 实现 图片浏览小程序(java+applet) 实现 图片浏览小程序(java+applet) 实现 图片浏览小程序(java+applet) 实现 图片浏览小程序(java+applet) 实现 图片浏览小程序...
简单的一个Java Applet的动态显示图片的小程序。将资源内的图片放置到E盘根目录下。如果想换图片,记得修改width和heigh的初始值,值为图片的宽和高。如果你对动画有兴趣,可以试着稍微修改一下本程序(程序里有相关...
基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片...
图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小...
Java+Applet实例讲解(分为1和2两部分)、Java+Applet实例编程、java+Applet登录、JavaApplet教程.pdf、JAVA_applet应用实例.ppt、JavaApplet编程技巧实例专辑、javaapplet例子.doc、Applet类.doc等教程。...
Java程序开发教学课件:11-GUI程序设计与Applet.ppt
Java程序设计:第11章 Java Applet编程.ppt