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中獲取顏色。