java - 如何使用Java绘制不完整的多边形

标签 java user-interface graphics polygon

我想要做的是使用 Java 绘制一个不完整的多边形。我已经弄清楚如何一次只绘制多边形,甚至填充多边形。我还可以使用线段绘制不完整的多边形,但问题是 BasicStroke.JOIN_BEVEL 不适用于线段。以下是我使用线段的方法:

//polygon is not Java's Polygon, my own implementation, and the methods do as
//they imply
for(int i = 0; i < polygon.getNumberOfPoints(); i++){
    Point2D.Double first = polygon.getPoint(i);
    Point2D.Double second = new Point2D.Double();
    if(polygon.getPoint(i+1) != null){
        second = polygon.getPoint(i+1);
        trans1 = /* some graphic translation of first */
        trans2 = /* some graphic translation of second */
        g.setColor(polygon.getColor());
        g.setStroke(new BasicStroke(polygon.getWeight(), BasicStroke.JOIN_BEVEL, BasicStroke.CAP_BUTT));
        g.draw(new Line2D.Double(trans1[0], trans1[1], trans2[0], trans2[1]));
    }
}

这工作得很好,但它并不完全按照我想要的方式工作。 g.setStroke(/*stuff here*/); 对关节没有影响。

最佳答案

好吧,我完全错过了一个方法。

g.drawPolyline(int[] xCoords, int[] yCoords, int numPoints)

这解决了我的问题。

关于java - 如何使用Java绘制不完整的多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408282/

相关文章:

java - 使用弹出窗口将项目添加到数组列表

java - 阐明多重继承的概念 : Can a diamond structure issue occur?

c# - 如何在调用重方法之前使标签可见

适用于所有设备的 photoshop 中的 Android 应用程序设计

opengl - 这是在 OpenGL 中渲染多个灯光的好方法吗?

java - 如何从 Eclipse 中的项目运行单个 Java 文件?

java - OpenJDK 9 IntelliJ IDEA (Ubuntu) "Can' t 解析符号”

python - 删除网格 Tkinter 中的某些行/列

c# - .NET 饼图 : how to add text to slices and rotate chart

Java2D : Increase the line width