В настоящее время я заметил, что javafx.geometry.Point2D не сериализуем. Есть ли способ реализовать интерфейс для этого класса.javafx.geometry.Point2D - Сделать сериализуемым
https://docs.oracle.com/javase/8/javafx/api/javafx/geometry/Point2D.html
В настоящее время я заметил, что javafx.geometry.Point2D не сериализуем. Есть ли способ реализовать интерфейс для этого класса.javafx.geometry.Point2D - Сделать сериализуемым
https://docs.oracle.com/javase/8/javafx/api/javafx/geometry/Point2D.html
Вы не можете сделать это по наследству, потому что javafx.geometry.Point2D не дает конструктор без аргументов. Вы можете сделать это по составу, следующим образом. Это может быть неудобно из-за метода getPoint(), альтернативой является воспроизведение любого интерфейса Point2D, который вам нужен. Когда я столкнулся с этим, я просто использовал java.awt.Point2D.Double вместо этого, который является Serializable, но, конечно же, не имеет богатого интерфейса javafx.geometry.Point2D.
class MyPoint2DByComposition implements Serializable {
Point2D myPoint ;
public MyPoint2DByComposition(double x, double y) {
myPoint = new Point2D(x,y) ;
}
public Point2D getPoint() {
return myPoint ;
}
private void writeObject(java.io.ObjectOutputStream out)
throws IOException {
out.writeDouble(myPoint.getX());
out.writeDouble(myPoint.getY());
}
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException {
myPoint = new Point2D(in.readDouble(), in.readDouble()) ;
}
}