此HashMap是我要保存并传输给其他人的信息。
HashMap<String,City> labelMap;
城市对象具有ArrayList
class City implements Serializable{
ArrayList<Marker> markerList;
City(){
markerList = new ArrayList<Marker>();
}
public void setMarker(Marker marker) {
markerList.add(marker);
}
}
并且Marker类是JLabel对象
class Marker extends JLabel implements Serializable{
ImageIcon image;
private Point point;
private String textString;
Marker(Point point, String textString){
this.point = point;
this.textString = textString;
image = new ImageIcon(Toolkit.getDefaultToolkit().getImage("Icon/marker.png"));
setIcon(image);
}
public Point getPoint() {
return point;
}
public void setPoint(Point point) {
this.point = point;
}
public String getTextString() {
return textString;
}
public void setTextString(String textString) {
this.textString = textString;
}
}
那么如何将带有上述信息的HashMap保存到文件中,以便我可以加载或稍后发送它?
我尝试使用序列化,但是不起作用。有没有一种方法可以有效地存储基于Swing的程序对象?
最后我解决了。
问题不是基于awt或摆动。
我从Jlabel获得的字符串不是英语,但是它是否是英语也没关系,但是如果它不是英语,那是一个错误。因此,Jlabel.setText =“”;我将Jlabel的文本设置为空白,然后序列化了非英文字符以进行修复。
毕竟,问题出在JLabel.getText上,它需要一个非英语字符并将其序列化
答案 0 :(得分:0)
最后我哭了。 问题不是基于awt或swing。
我从Jlabel获得的字符串不是英语,它是否是英语也没关系,但是如果它不是英语,则是错误的。因此,Jlabel.setText =“”;我将Jlabel的文本设置为空白,然后序列化了非英文字符以进行修复。
毕竟,问题出在JLabel.getText上,它需要一个非英语字符并将其序列化