我想按值传递 ImageIcon 实例,因为我们知道默认情况下它是按值传递引用。有没有办法解决这个问题?
ImageIcon img1 = new ImageIcon();
ImageIcon img2 = new ImageIcon();
img1 = img2; // both share the same reference.......
我尝试使用 ImageIcongetImage()
和setImage()
.
但实际上我的程序包括将图像写入文件并且图像的质量似乎发生了变化。
简而言之,有没有一种方法可以使用函数
img1 = func(img2); // both do not share the same refernce. But the value is copied
至少我怎样才能在使用getImage()
or时保持准确的图像质量setImage()
?
根据要求提供一些附加信息。
我正在使用的是 jpg 图像,并且我已将函数完全包含为 image = img1.getimage();
img2.setImage(图像);
我维护了一个单独的 java 类,它包含默认的 ImageIcon 包含 jpg 图像,我正在使用一些类方法从中检索图像
ImageIcon defaulticon = new ImageIcon("d:\\default.jpg");
public void getdefaultimage(ImageIcon img)
{
img.setImage(defaulticon.getImage());
}
// The class which I maintained specifically for this purpose is a pure java class.