WEB开发网
开发学院WEB开发Jsp JPanel加载图像的过程 阅读

JPanel加载图像的过程

 2008-01-05 18:37:37 来源:WEB开发网   
核心提示:要在JPanel上显示图像,调用了哪几个要害的类方法? 经过Debug,JPanel加载图像的过程,总结如下:无论选择按钮或菜单来触发事件,打开图像文件分别调用的方法依次是按钮或菜单的事件处理方法(ButtonOpen_mouseClicked())->自定义的加载方法(loadMyImage()) -> Graphi

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

Tags:JPanel 加载 图像

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接