JPanel加载图像的过程

王朝java/jsp·作者佚名  2006-03-22
窄屏简体版  字體: |||超大  

要在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;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航