绘制圆圈并将其设置为在 canvas 上可见

Drawing circle and setting it visible on canvas

我有一些制作 jFrame 和 canvas 的代码。它们是可见的。但是我不知道如何在 canvas

上设置一个可见的圆圈
    package unitcirclevisulaization;


    import java.awt.Canvas;
    import java.awt.Graphics;
    import javax.swing.JFrame;

    public class UnitCircleVisulaization extends Canvas {

        public static void main(String[] args) {
            JFrame frame = new JFrame("Unit Circle");
            Canvas canvas = new Canvas();
            canvas.setSize(800,800);
            frame.add(canvas);
            frame.pack();
            frame.setVisible(true);
        }

        public void paint(Graphics g)
        {
            g.fillOval(400, 400, 400, 400);
        }

    }

我只想在canvas上出现一个圆圈,并且可以设置圆圈的颜色

您的绘画方法在 UnitCircleVisulaization class 中,它永远不会被实例化,所以绘画方法永远不会被调用。

要解决此问题,只需更换行

Canvas canvas = new Canvas();

Canvas canvas = new UnitCircleVisulaization();

这是可行的,因为 UnitCircleVisulaization 扩展了 Canvas,其中包含 paint 方法。然后当框架可见时自动调用 paint 方法。