826220679@qq.com
9 小时以前 69b40096cb0ae965f2a3e92672b880edfe7d04d2
src/zhuye/adddikuaiyulan.java
@@ -41,7 +41,7 @@
        // 过滤有效点
        List<Point2D.Double> validPoints = new java.util.ArrayList<>();
        for (Point2D.Double point : previewPoints) {
            if (point != null && Double.isFinite(point.x) && Double.isFinite(point.y)) {
            if (point != null && isFinite(point.x) && isFinite(point.y)) {
                validPoints.add(point);
            }
        }
@@ -125,12 +125,12 @@
    double effectiveScale = Math.max(0.01d, scale);
    double markerSize = cachedMarkerPixelDiameter / effectiveScale;
    double normalizedScale = Double.isFinite(diameterScale) && diameterScale > 0.0d ? diameterScale : 1.0d;
    double normalizedScale = isFinite(diameterScale) && diameterScale > 0.0d ? diameterScale : 1.0d;
    markerSize *= normalizedScale;
    double markerRadius = markerSize / 2.0d;
        for (Point2D.Double point : previewPoints) {
            if (point == null || !Double.isFinite(point.x) || !Double.isFinite(point.y)) {
            if (point == null || !isFinite(point.x) || !isFinite(point.y)) {
                continue;
            }
            Shape marker = new Ellipse2D.Double(point.x - markerRadius, point.y - markerRadius, markerSize, markerSize);
@@ -141,4 +141,12 @@
        g2d.setStroke(originalStroke);
        g2d.setColor(originalColor);
    }
    /**
     * 检查double值是否有限(不是NaN或无穷大)
     * 兼容低版本Java
     */
    private static boolean isFinite(double value) {
        return !Double.isNaN(value) && !Double.isInfinite(value);
    }
}