我真的很困惑如何对此进行编程。如何在 Java 中绘制一个半径和点围绕边缘的圆?
我需要在 JFrame 内绘制一个圆,其半径和圆周上的点。我可以通过数学计算如何找到边缘周围点的坐标,但我似乎无法对圆进行编程。我目前正在使用 Ellipse2D 方法,但它似乎不起作用并且不会返回半径,据我所知,它不会从中心绘制圆,而是使用高度和宽度从起始坐标绘制圆。
我当前的代码在一个单独的框架上,但我需要将它添加到我现有的框架中。
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;
public class circle extends JFrame {
public circle() {
super("circle");
setSize(410, 435);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Panel sp = new Panel();
Container content = getContentPane();
content.add(sp);
setContentPane(content);
setVisible(true);
}
public static void main (String args[]){
circle sign = new circle();
}
}
class Panel extends JPanel {
public void paintComponent(Graphics comp) {
super.paintComponent(comp);
Graphics2D comp2D = (Graphics2D) comp;
comp2D.setColor(Color.red);
Ellipse2D.Float sign1 = new Ellipse2D.Float(0F, 0F, 350F, 350F);
comp2D.fill(sign1);
}
}
原文由 alchemey89 发布,翻译遵循 CC BY-SA 4.0 许可协议
圆 上的点可以指定为角度 θ 的函数:
这里显示了 2π/8 的增量。
附录:正如@Christoffer Hammarström 在评论中所建议的那样,这个 修改 后的示例减少了原始示例中 幻数 的数量。所需的点数成为构造函数的参数。它还使渲染适应容器的大小。