0
我写<Edge>
对象添加到文件中像这样JavaFX的ObjectInputStream的颜色保持空
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
new FileOutputStream("Object" + level + ".txt"));
edgeList = koch.getEdgeList();
for (Edge e : edgeList) {
objectOutputStream.writeObject(e);
}
边包含颜色:
import java.io.Serializable;
import javafx.scene.paint.Color;
public class Edge implements Serializable {
public double X1, Y1, X2, Y2;
transient public Color color;
public Edge(double X1, double Y1, double X2, double Y2, Color color) {
this.X1 = X1;
this.Y1 = Y1;
this.X2 = X2;
this.Y2 = Y2;
this.color = color;
}
}
我使用JavaFX和无法改变这一点。 我做了颜色暂态,因为如果我没有这样做,会导致Serializable的麻烦。
现在我读这样的objectfile:
FileInputStream streamIn = new FileInputStream("Object" + level + ".txt");
ObjectInputStream objectinputstream = new ObjectInputStream(streamIn);
int teller = 0;
try {
for (teller = 0; teller < i; teller++) {
Edge edge = (Edge) objectinputstream.readObject();
EdgeList.add(edge);
}
} catch (OptionalDataException e) {
if (!e.eof) {
throw e;
}
} finally {
objectinputstream.close();
}
我现在的问题是,当我从文件中读取边缘对象,坐标(X1,Y1,X2,Y2)读取的罚款。但颜色为NULL,这不会导致错误,但它不会在绘制线上显示颜色。所以我没有任何错误代码。我必须手动设置颜色,但我应该从objectfile中获取颜色。