我正在使用包含其他对象中的图像对象的JSON字符串。从这里我创建了一个PropertyBusinessObject,其中包含以下内容
public final Property<EncodedImage, Profile> profilePic = new Property<>("profilePic", EncodedImage.class);
我在PropertyBusinessObject
中创建了一个方法public EncodedImage getProfilePic() {
return profilePic.get();
}
我将数据填充到Property业务对象中,如下所示:
profile.getPropertyIndex().populateFromMap((Map) profileObject);
当我尝试使用以下代码在表单上显示图像时,
ScaleImageLabel profilePic = new ScaleImageLabel(profile.getProfilePic()) {
@Override
protected Dimension calcPreferredSize() {
Dimension dimension = super.calcPreferredSize();
dimension.setHeight(Math.min(dimension.getHeight(), Display.getInstance().convertToPixels(40)));
return dimension;
}
};
profilePic.setBackgroundType(Style.BACKGROUND_IMAGE_SCALED_FILL);
container.add(BorderLayout.NORTH, profilePic);
我得到一个ClassCastException
异常:java.lang.ClassCastException - java.lang.String无法强制转换为com.codename1.ui.Image
任何人都可以帮我解决,或建议使用其他方式来使用JSON字符串吗?
答案 0 :(得分:1)
populateFromMap
目前不支持Base64图片,我会将其作为选项添加,因为该用例是有意义的。星期五的更新应该在那里。