2013-04-28 7 views
0

ImageIcon 파일을 ObjectOutputStream으로 저장할 수 있는지 아는 사람이 있습니까? 나는 ObjectOutputStream으로 저장하는 사람 - 레지스트리가 있으므로 그 정보와 함께 imageicon을 쓰는 것이 정말 편리 할 것입니다. 그러나 이미지 아이콘을 읽으려고해도 아무 일도 일어나지 않습니다. 나는 다른 모든 정보를 읽지 만, 캔트는 ImageIcon을 얻는 것처럼 보입니다.ObjectOutputStream을 사용하여 ImageIcon을 저장할 수 있습니까?

누구나 할 수있는 것에 아이디어가 있습니까?

EDIT : 나는 사람 클래스와 사람 레지스트리 클래스가 있습니다. 아래 은 사람 클래스이고 personregistry 클래스는 여러 사람의 모음입니다. 나는 object-output 스트림을 가진 person-registry를 쓴다.

public Person(String fn, String en, String a, int t, ImageIcon kb, Kort k) { 
     fname= fn; 
     lname= en; 
     adress= a; 
     tlf= t; 
     card= k; 
     df.format(medlemsNr= ++nextNr); 
     cardPicture= kb; 
     neste= null; 
    } 

public void writePersonsToFile() { 
     try(ObjectOutputStream utfil= new ObjectOutputStream(
       new FileOutputStream(("PersonRegistry.data")))) { 
      utfil.writeObject(personRegistry); 
     } 
     catch(NotSerializableException nse) { 

     } 
     catch(IOException ioe) { 

     } 
    } 
+0

'imageInputStream'으로'imageicon'을 읽을 때 어떻게됩니까? – Apurv

+0

글쎄, 아무것도. 우선 나는 그 사람의 레지스트리를 succes로 읽는다. 모든 데이터 (텍스트)가 있지만 imageCON을 JLabel.setIcon (imageIcon)을 사용하여 JLabel에 표시하려고하지만 아무 일도 일어나지 않습니다. – fuLLMetaLMan

+0

'imageicon'을'ObjectOutputStream'으로 저장하고있는 코드와'imageicon' – Apurv

답변

1

마침내 해결했습니다. 그것은 내 손에 어리석은 실수였다. ImageIcon에서 ObjectOutputStream까지 다시 저장하면 문제가 없습니다. 문제는 파일을 저장하려고했기 때문입니다.

ImageIcon은 GUI에서 JLabel 안에있었습니다.

ImageIcon imgIcon= (ImageIcon)imgLabel.getIcon(); 

다음의 OutputStream를 통해 실행 내가 먼저 아이콘을 얻어야했다, 그것을 저장합니다. 모든 도움에 감사드립니다. =)

1

질문이 이해가 가지 않습니까? 당신은 이미지 스트림을 가지고 있으며 당신은 그릴 이미지 액티비티 객체 또는 다른 액션을 만들고 싶습니까?

이 경우, 당신은 이미지의 스트림이있는 경우

ImageIO classImageIO.read(ImageInputStream stream)를 사용하여 (예 : URL)에서 할 수 있으며 이미지 파일로 저장하려면, 당신은 FileOutputStream 간단한와 랩 그것에 의해 파일로 저장할 수 있습니다 그것을 파일에 써라.

+0

이것은 답변이 아닙니다. 질문을 다시 읽으십시오. – Apurv

+0

문제는 ImageIcon이 있는데 object 정보 스트림에 문자열 정보 (가능하면)를 저장하고 objectinputstream에서 다시 읽으려고합니다. 아니면 ImageOutput에 imageicon을 별도로 저장해야합니까? – fuLLMetaLMan