0

有人知道你是否可以保存ImageIcon文件ObjectOutputStream吗?我有一个用 保存的人员注册表ObjectOutputStream,因此将imageicon与该信息一起编写会非常方便。但是当我尝试阅读图像图标时,什么也没有发生。我可以阅读所有其他信息,但似乎无法获得ImageIcon.

有人对我能做什么有任何想法吗?

编辑:我有一个人员类和一个人员注册类。下面是 person 类, personregistry 类只是几个人的集合。我用 objectoutput 流写出人员注册表。

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)  {

        }
    }
4

2 回答 2

1

I solved it at last. It was a stupid mistake on my hand. It worked fine to save the ImageIcon through ObjectOutputStream and in again. The trouble was with the file I tried to save.

The ImageIcon that I wanted to save was inside a JLabel on the GUI. To save it, I had to get the Icon first with:

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

and then run it through the outputstream. Thanks for all help. =)

于 2013-04-28T15:31:12.750 回答
1

我不明白你的问题?你有一个图像流,你想创建一个 imageicon 对象来绘制或其他动作?

如果是这样,您可以ImageIO.read(ImageInputStream stream)ImageIO 类中使用

如果您有一个图像流(例如:来自 url)并且想要保存到图像文件,您可以通过将其包装FileOutputStream并简单地将其写入文件来保存到文件。

于 2013-04-28T14:21:11.133 回答