Avatar billede winston-smith Nybegynder
10. december 2001 - 11:17 Der er 2 kommentarer og
1 løsning

ImageIcon

Jeg har en række ImageIcons som jeg vil gemme i een fil. Så jeg kan læse dem ind igen med constructoreen javax.swing.ImageIcon(byte[]).
Men hvordan jeg konvertere jeg en ImageIcon til en array af bytes (byte[])?

Rune
Avatar billede carstenknudsen Nybegynder
10. december 2001 - 12:53 #1
Det er ikke nødvendigt at konvertere dit ImageIcon(s) til
en byte[] da ImageIcon klassen er serialiserbar (den
implementerer java.io.Serializable).  Du kan direkte
smide den ned i en fil, med en ObjectOutputStream,
du kalder bare writeObject metoden.
Hvis du vil lave det til en byte[] kan du bruge PipedInput/OutputStream klasserne
fra java.io pakken hvorved du kan få en byte[].
Avatar billede winston-smith Nybegynder
10. december 2001 - 13:12 #2
I koden til ImageIcon står der:

\"Serialized objects if this class will not be compatible wuth future swing releases. The current serialization support is appropriate for short term strage or RMI between application running the same version of Swing. A future release of Swing will provide support for long term persistence.\"

Hvis jeg bruger serilize vil mine data så ikke blive låst fast i en gammel version af Swing?
Avatar billede carstenknudsen Nybegynder
10. december 2001 - 13:18 #3
Det er muligt, men sådan har mange klasser haft det længe.
En bedre måde er at gemme sine komponenter
i XML; det kan gøres i 1.4 og fremefter og er meget mere
generelt. Du kan se et eksempel i XMLEncoder klassen
i 1.4.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester