jdk8包含三个不同的Point2D类:
- rt.jar中的java.awt.geom.Point2D - jfxrt.jar中的javafx.geometry.Point2D - jfxrt.jar中的com.sun.javafx.geom.Point2D
如果要进行几何计算以判断点是否与线相交(例如Line2D.contains(Point2D)),应该使用哪个Point2D类呢?考虑到还要使用其他javafx功能,我的第一个想法是使用javafx.geometry.Point2D类。然而,尽管这个包含有Point2D类,但它并不包含Line2D类,而其他两个包含有Line2D类。
另一方面,我也不想选择一个即将被弃用的类。
顺便提一下,awt和com.sun包的Point2D类使用float类型定义点,需要进行大量的转换。而javafx版本使用double类型,比较方便,因为javafx也更喜欢用double来安排组件(例如getPrefWidth、getLayoutX等)。
实际上,Line2D类没有什么帮助。contains方法总是返回false。因此,看起来我还是需要编写自己的intersect方法。
- rt.jar中的java.awt.geom.Point2D - jfxrt.jar中的javafx.geometry.Point2D - jfxrt.jar中的com.sun.javafx.geom.Point2D
如果要进行几何计算以判断点是否与线相交(例如Line2D.contains(Point2D)),应该使用哪个Point2D类呢?考虑到还要使用其他javafx功能,我的第一个想法是使用javafx.geometry.Point2D类。然而,尽管这个包含有Point2D类,但它并不包含Line2D类,而其他两个包含有Line2D类。
另一方面,我也不想选择一个即将被弃用的类。
顺便提一下,awt和com.sun包的Point2D类使用float类型定义点,需要进行大量的转换。而javafx版本使用double类型,比较方便,因为javafx也更喜欢用double来安排组件(例如getPrefWidth、getLayoutX等)。
实际上,Line2D类没有什么帮助。contains方法总是返回false。因此,看起来我还是需要编写自己的intersect方法。
rt.jar
。 - SaviNuclearawt
类(即Java 1.2),只要有现代化的替代品? - bvdb