У меня есть несколько кодов, создающих 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);
}
}
Я просто хочу, чтобы на холсте появился круг, и я мог установить цвет круга.
Ваш метод рисования находится внутри класса UnitCircleVisulaization, который никогда не создается, поэтому метод рисования никогда не вызывается.
Чтобы исправить это, просто замените строку
Canvas canvas = new Canvas();
с участием
Canvas canvas = new UnitCircleVisulaization();
Это работает, потому что UnitCircleVisulaization расширяет Canvas, который содержит метод рисования. Затем автоматически вызывается метод рисования, когда рамка становится видимой.