Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 绘制圆形并将其设置为在画布上可见_Java_Jframe_Awt - Fatal编程技术网

Java 绘制圆形并将其设置为在画布上可见

Java 绘制圆形并将其设置为在画布上可见,java,jframe,awt,Java,Jframe,Awt,我有一些代码制作jFrame和canvas。它们是可见的。但我不知道如何设置画布上可见的圆 package unitcirclevisulaization; import java.awt.Canvas; import java.awt.Graphics; import javax.swing.JFrame; public class UnitCircleVisulaization extends Canvas { public s

我有一些代码制作jFrame和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);
        }

    }

我只想在画布上显示一个圆,并能够设置圆的颜色

您的paint方法位于UnitCircleVisulaization类中,该类从未实例化,因此从未调用paint方法

要解决此问题,只需更换线路

Canvas canvas = new Canvas();

这是因为UnitCircleSulaization扩展了包含paint方法的画布。然后,当框架可见时,将自动调用绘制方法

Canvas canvas = new UnitCircleVisulaization();