我有一些制作 jFrame 和 Canvas 的代码。它们是可见的。但是我不知道如何在 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);
}
}
我只想在 Canvas 上出现一个圆圈,并且能够设置圆圈的颜色
最佳答案
您的 paint 方法位于 UnitCircleVisulaization 类中,该类从未实例化,因此永远不会调用 paint 方法。
要解决这个问题,只需更换行
Canvas canvas = new Canvas();
与
Canvas canvas = new UnitCircleVisulaization();
这是有效的,因为 UnitCircleVisulaization 扩展了包含 paint 方法的 Canvas。然后当框架可见时自动调用 paint 方法。
关于java - 绘制圆圈并将其设置为在 Canvas 上可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56351412/