我有一些编写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);
}
}
我只希望在画布上出现一个圆圈,并能够设置圆圈的颜色
答案 0 :(得分:0)
您的绘制方法位于UnitCircleVisulaization类中,该类永远不会实例化,因此永远不会调用该绘制方法。
要解决此问题,只需替换行
Canvas canvas = new Canvas();
使用
Canvas canvas = new UnitCircleVisulaization();
之所以起作用,是因为UnitCircleVisulaization扩展了包含绘制方法的Canvas。当框架可见时,就会自动调用paint方法。