bufferimage中的图像怎么绘制在jpanel中那

来源:互联网 发布:mac谷歌浏览器 编辑:程序博客网 时间:2024/04/29 14:17
http://www.oschina.net/question/573224_61486
JFileChooser chooser = newJFileChooser(".");
if(chooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) {
    BufferedImage image = ImageIO.read(chooser.getSelectedFile());
    frame.myPanel.setImage(image);
    // 重绘
    frame.validate();
    // 也可以用frame.myPanel.repaint();

}



publicclassMyPanel extendsJPanel {
    privatestaticfinal long serialVersionUID = 1L;
 
    privateBufferedImage image = null;
 
    publicMyPanel() {
    }
 
    @Override
    protectedvoidpaintComponent(Graphics graphics) {
        if(image == null) {
            super.paintComponent(graphics);
        }else{
            graphics.drawImage(image,0,0,this.getWidth(),this.getHeight(),this);
        }
    }
 
    publicBufferedImage getImage() {
        returnimage;
    }
 
    publicvoidsetImage(BufferedImage image) {
        this.image = image;
    }
}

0 0
原创粉丝点击