使用Canvas在Java中绘图

我想绘制Java的Canvas,但由于我不知道自己在做什么而无法正常工作。这是我的简单代码:

import javax.swing.JFrame;

import java.awt.Canvas;

import java.awt.Graphics;

import java.awt.Color;

public class Program

{

public static void main(String[] args)

{

JFrame frmMain = new JFrame();

frmMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frmMain.setSize(400, 400);

Canvas cnvs = new Canvas();

cnvs.setSize(400, 400);

frmMain.add(cnvs);

frmMain.setVisible(true);

Graphics g = cnvs.getGraphics();

g.setColor(new Color(255, 0, 0));

g.drawString("Hello", 200, 200);

}

}

窗口上没有任何内容。

我以为“画布”是纸而“图形”是我的铅笔是我的错吗?那是怎么回事?

回答:

意见建议:

  • 不要使用Canvas,因为不要将AWT与Swing组件不必要地混合。
  • 而是使用JPanel或JComponent。
  • 不要通过调用getGraphics()组件来获取Graphics对象,因为获得的Graphics对象将是瞬态的。
  • 绘制JPanel的paintComponent()方法。
  • 所有这些在容易找到的教程中都有很好的解释。在尝试猜测这些内容之前,为什么不先阅读它们?


关键教程链接:

  • 基本教程:课程:执行自定义绘画
  • 更高级的信息:AWT和Swing中的绘画

以上是 使用Canvas在Java中绘图 的全部内容, 来源链接: utcz.com/qa/436233.html

回到顶部