Рисование круга и установка его видимым на холсте - PullRequest
2 голосов
/ 29 мая 2019

У меня есть несколько кодов, делающих 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);
        }

    }

Я просто хочу, чтобы на холсте появился круг, и я смог установить цвет круга

1 Ответ

0 голосов
/ 29 мая 2019

Ваш метод рисования находится внутри класса UnitCircleVisulaization, который никогда не создается, поэтому метод рисования никогда не вызывается.

Чтобы это исправить, просто замените строку

Canvas canvas = new Canvas();

на

Canvas canvas = new UnitCircleVisulaization();

Это работает, потому что UnitCircleVisulaization расширяет Canvas, который содержит метод рисования.Затем метод рисования автоматически вызывается, когда рамка становится видимой.

...