Codenameone java.io.IOException:不支持对象类型
当我试图保存上传的用户的图像时,我得到以下错误Codenameone java.io.IOException:不支持对象类型,codenameone,Codenameone,当我试图保存上传的用户的图像时,我得到以下错误 java.io.IOException: Object type not supported: com.codename1.ui.Image value: com.codename1.ui.Image@76a29a7 at com.codename1.io.Util.writeObject(Util.java:406) 下面是我的程序 用户类 状态机类 Image不是可外部化的类,因为它包含特定于平台的本机映像数据,而不是字节 EncodedIm
java.io.IOException: Object type not supported: com.codename1.ui.Image value: com.codename1.ui.Image@76a29a7
at com.codename1.io.Util.writeObject(Util.java:406)
下面是我的程序
用户类
状态机类
Image不是可外部化的类,因为它包含特定于平台的本机映像数据,而不是字节
EncodedImage是可外化的,所以您应该使用它。默认情况下,我们创建的所有图像(例如资源)都是EncodedImage,但如果您有图像或可变图像,则可以使用以下方法将其转换为EncodedImage:
public class User implements Externalizable {
private String name;
private Image proImg;
public void externalize(DataOutputStream out) throws IOException {
Util.writeUTF(getName(), out);
Util.writeObject(getProImg(), out);
}
public void internalize(int version, DataInputStream in) throws IOException {
setName(Util.readUTF(in));
setProImg((Image) Util.readObject(in));
}
...
}
protected void onCreateAccountGui_SaveBtnAction(Component c, ActionEvent event) {
User usr = new User();
usr.setName(findNametxta(c).getText());
usr.setProImg(findProImgGallery(c).getImage());
try
{
storedUser.writeObject("userStore", usr);
}
catch(Exception e)
{
e.printStackTrace();
}
}
EncodedImage enc = EncodedImage.createFromImage(img, jpgOrPng);