在线等。

解决方案 »

  1.   

    自己再new一个BufferedImage对象如何?反正可以从原有的BufferedImage对象获得相关属性,再构造一个新对象应该可以吧。
      

  2.   

    clone这个方法是无法继承下来,是不是???
      

  3.   


    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;class UserBufferImage extends BufferedImage implements Cloneable
    {
    BufferedImage temp;
    public UserBufferImage(int width, int height, int imageType)
    {
    super(width, height, imageType);
    // TODO Auto-generated constructor stub
    }
    public void setImage(String a)
    {
    try
    {
    temp = ImageIO.read(new File("apple.jpg"));
    } catch (IOException e)
    {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
        public BufferedImage getImage1()
        {
         return temp;
        }
    public Object clone() {
    UserBufferImage o = null;
      try {
       o = (UserBufferImage) super.clone();
       o.temp = (BufferedImage) temp.clone();
       
      } catch(CloneNotSupportedException e){
       e.printStackTrace();
      }
    return o;
    }
    public static void getImage()
    {

    }
    }
    class temp
    {
    public static void main(String[] args)
    {
    UserBufferImage x = new UserBufferImage(20, 20, 3); UserBufferImage y = (UserBufferImage) x.clone();
    System.out.println(x.hashCode());
    System.out.println(y.hashCode());
    }
    }
      

  4.   

    下面是一个例子:        BufferedImage bimage = null;
            BufferedImage bimage2 = new BufferedImage(bimage.getWidth(), bimage.getHeight(), bimage.getType());
            bimage2.setData(bimage.getData());或者:        Image image = null;
            Image image2 = image.getScaledInstance(
                    image.getWidth(null), image.getHeight(null), Image.SCALE_DEFAULT);这都可以用来拷贝 Image 对象。
      

  5.   

    你这程序里面的o = (UserBufferImage) super.clone();其实已经相当于克隆BufferedImage对象了,只不过是克隆了BufferedImage子类的对象,至于o.temp = (BufferedImage) temp.clone();你想直接克隆BufferedImage的对象恐怕不行吧,肯定报错,因为BufferedImage并没有实现Cloneable接口,而这2个类是API里规定好的,不是你能改的