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