`
txf2004
  • 浏览: 6883743 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JPanel加载图像的过程

 
阅读更多
要在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;
}
分享到:
评论

相关推荐

    Java拼图游戏面向对象课程设计报告.doc

    //设置步骤显示 " "private JPanel panel = new JPanel(); " "//一般轻量级面板容器,装在上面2个按钮 " "private int steps = 0; // 记录移动的步骤 " "public Jpgsaw(String title) { //构造方法,初始化变量 " ...

    Java典型模块

    16.3.2 字体设置对话框——jPanel1组件界面 16.3.3 字体设置对话框——其他组件 16.4 小结 第17章 拼图游戏(GUI综合应用) 17.1 拼图游戏原理 17.1.1 项目结构框架分析 17.1.2 项目功能业务分析 17.1.3 拼图游戏...

    java源码包---java 源码 大量 实例

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    java源码包2

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    java源码包3

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    java源码包4

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    JAVA上百实例源码以及开源项目源代码

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    JAVA上百实例源码以及开源项目

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    javaSE代码实例

    10.6 Java程序的加载过程 190 10.7 小结 192 第三篇 高级基础篇 第11章 异常处理——Java世界的医生 195 11.1 异常处理的基本知识 195 11.1.1 try和catch捕获异常 195 11.1.2 异常的传播过程 198 ...

    Java开发技术大全 电子版

    14.7.1面板(JPanel)使用示例476 14.7.2滚动面板(JScrollPane)使用示例480 14.7.3分隔板(JSplitPane)使用示例482 14.7.4选项板(JTabbedPane)使用示例485 14.7.5工具栏(JToolBar)使用示例486 14.8常用...

Global site tag (gtag.js) - Google Analytics