网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.秉承Java思路 开发易于移植的J2M.
.包版本标识.
.小议局部类(1).
.J2ME程序开发全方位基础讲解汇总.
.自动化WebLogic平台应用程序供应.
.使用档案文件提高applet的加载速.
.用ANT构造Application.
.Certification Notes(中英对照).
.在组件上显示图象.
.java新手必读:Java学习的捷径.
.XDE中模式驱动的设计与开发(二).
.JSF实例:组件显示(隐藏)与数据排.
.用java实现简单的email正则表达式.
.用LineNumberReader 提供更好的出.
.使用 Jakarta Commons 之库组件攻.
.SQL server中可支持Web的分析功能.
.Java中的函数动态调用.
.Java Servlet基本方法介绍 Java .
.我所认识的Apache.
.如何使用kxml解析WAP.

JPanel加载图像的过程

发表日期:2008-1-5



  要在JPanel上显示图像,调用了哪几个要害的类方法? 经过Debug,总结如下:

无论选择按钮或菜单来触发事件,打开图像文件

分别调用的方法依次是

按钮或菜单的事件处理方法(ButtonOpen_mouseClicked())->
自定义的加载方法(loadMyImage()) ->
 Graphics对象的drawImage()->
JPanel的imageUpdate() ->
JPanel的repaint()

以下代码仅是示例,不完全

void ButtonOpen_mouseClicked(MouseEvent e) {
         panel.loadChemImg(imageFile.getAbsolutePath());
}

public void loadMyImage(String s) {
        originalImage = Toolkit.getDefaultToolkit().getImage(s);      
             
        if (ibuff == null) {
            init_buff();
        }                   
        buffgra.drawImage(originalImage, 0, 0, this);       
        //这里会调用imageUpdate()   
    }

 public boolean imageUpdate(Image originalImage, int flags, int x, int y, int w, int h) {
        Color col;
               
        if (flags == ImageObserver.ALLBITS) {
            col = buffgra.getColor();
            buffgra.setColor(Color.white);
            buffgra.fillRect(0, 0, getWidth(), getHeight());
            buffgra.drawImage(originalImage, 0, 0, this);
            buffgra.setColor(col);               
               
            repaint();   
            //完全加载后返回false,防止再次调用           
            return false;
        }
        return true;      
    }
上一篇:JDBC系列教程(四)---结果设置 人气:1412
下一篇:JDBC系列教程(六)---可调用语句 人气:1062
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐