不明白你需要解决什么问题?
是需要一个继承JComponent的类还是看看上面的代码是否正确?

解决方案 »

  1.   

    问题是这样的!  我写了一个编辑器, 这个编辑器继承于JComponent, 现在我想把这个编辑器上所显示的内容保存成一张图片(类似于"屏幕截图").以上的代码是我测试的时候使用的,但是生成的图片是一片灰色,我想可能是没能正确的调用方法.请高手指教,谢谢!!!!
      

  2.   

    如果是在jdk1.4版本以上开发试试用ImageIOimport javax.imageio.*;java.awt.image.BufferedImage image;
    image = (java.awt.image.BufferedImage)ewf.createImage(500, 500);
    File imgFile = new File("c:/"+ewf.getWorkFlowName()+".jpeg");
    ImageIO.write(image,"jpeg",imgFile);这样实现的前提是image是有图像的,但是你的代码用ewf.createImage(),
    好像只是创建了一个image,但是image上好象是没有图像的
      

  3.   

    谢谢!!  后来发现不能使用ewf.createImage()方法, 而是直接生成一个空的BufferedImage 对象,然后调用ewf.paintComponent(g) 绘制这个Graphics 对象便可以生成图片了! ^_^try
            {
                java.awt.image.BufferedImage image;
                image = new java.awt.image.BufferedImage(800, 600, 
                java.awt.image.BufferedImage.TYPE_INT_RGB);
                Graphics g = image.getGraphics();
                ewf.paintComponent(g);
                File imgFile = new File("c:/"+ewf.getWorkFlowName()+".jpeg");
                FileOutputStream fos = new FileOutputStream(imgFile);
                BufferedOutputStream bos = new BufferedOutputStream(fos);
                JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
                encoder.encode(image);
                bos.close();
                return true;
            }
            catch(Exception ex)
            {
                return false;
            }