绘制圆圈并将其设置为在 canvas 上可见
Drawing circle and setting it visible on canvas
我有一些制作 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上出现一个圆圈,并且可以设置圆圈的颜色
您的绘画方法在 UnitCircleVisulaization class 中,它永远不会被实例化,所以绘画方法永远不会被调用。
要解决此问题,只需更换行
Canvas canvas = new Canvas();
和
Canvas canvas = new UnitCircleVisulaization();
这是可行的,因为 UnitCircleVisulaization 扩展了 Canvas,其中包含 paint 方法。然后当框架可见时自动调用 paint 方法。
我有一些制作 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上出现一个圆圈,并且可以设置圆圈的颜色
您的绘画方法在 UnitCircleVisulaization class 中,它永远不会被实例化,所以绘画方法永远不会被调用。
要解决此问题,只需更换行
Canvas canvas = new Canvas();
和
Canvas canvas = new UnitCircleVisulaization();
这是可行的,因为 UnitCircleVisulaization 扩展了 Canvas,其中包含 paint 方法。然后当框架可见时自动调用 paint 方法。