ImageIcon 인스턴스를 값으로 전달하려면 기본적으로 값으로 전달 참조라는 것을 알고 있습니다. 이 문제를 해결할 방법이 있습니까? ImageIcon 참조 문제
ImageIcon img1 = new ImageIcon();
ImageIcon img2 = new ImageIcon();
img1 = img2; // both share the same reference.......
나는 이미지 아이콘의
getImage()
및
setImage()
를 사용했습니다.
사실 내 프로그램에는 파일에 이미지를 쓰는 것이 포함되어 있으며 이미지의 품질은 변하는 것 같습니다. 한마디로
이있는
img1 = func(img2); // both do not share the same refernce. But the value is copied
은 적어도 어떻게
getImage()
또는
setImage()
사용에 대한 정확한 이미지 품질을 유지할 수있는 기능을 사용하는 방법에 대한 방법은 무엇입니까?
요청에 따라 몇 가지 추가 정보.
내가 사용하고있는 것은 jpg 이미지이며 정확하게이 기능을 포함했습니다. image = img1.getimage();
img2.setImage (image);
나는 JPG 이미지를 containg 기본 이미지 아이콘을 보유하고 별도의 자바 클래스를 유지했고 당신이를 복사하려면 나는
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.
[Java는 참조 전달을 지원하지 않습니다] (http://javadude.com/articles/passbyvalue.htm) – gobernador
도 필요하지 않습니다. "참조/가치 전달"문제는 여기에서 논점이 아니며 실제 문제는 이미지 품질 중 하나라고 생각합니다. –
@HovercraftFullOfEels 최신 게시물을 읽으십시오 ... –