我有一些代码,使jFrame和画布。它们是可见的。但我不知道如何在画布上设置一个可见的圆圈
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);
}
}
我只想在画布上出现一个圆,并能够设置圆的颜色
发布于 2019-05-29 10:00:43
您的paint方法位于从未实例化的UnitCircleVisulaization类中,因此paint方法永远不会被调用。
要解决此问题,只需替换行
Canvas canvas = new Canvas();
使用
Canvas canvas = new UnitCircleVisulaization();
这是因为UnitCircleVisulaization扩展了包含paint方法的Canvas。然后,当框架可见时,将自动调用paint方法。
https://stackoverflow.com/questions/56351412
复制相似问题