当前位置: 首页 > 面试题库 >

使用Canvas在Java中绘图

张玺
2023-03-14
问题内容

我想绘制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中的绘画


 类似资料:
  • 问题内容: 我目前有一个迷宫游戏,它绘制一个5 x 5的正方形(占用屏幕的宽度并将其均匀分割)。然后,对于每个使用x和y坐标的框,我使用drawRect绘制彩色背景。 我遇到的问题是我现在需要在同一位置绘制图像,因此需要替换当前的纯背景色填充。 这是我当前用于drawRect的代码(一些示例): 然后,我还需要为画布中的所有其他正方形实现背景图像。该背景将在其顶部绘制简单的1px黑色线条,当前代码

  • 问题内容: 我想使用鼠标在HTML画布上绘制(例如:绘制签名,绘制名称…) 请帮我怎么办?请提供一些源代码。谢谢 问题答案: 这是一个工作示例。

  • 我使用canvas在位图上绘制,并将位图覆盖在imageView上。 我已经画了一个基本的绘图在方法中被称为DrawGraph(),当用户触摸画布我必须画一个圆圈,因为我已经使用画布在onTouchEvent()方法,它没有画任何东西,代码是下面给出的,什么是问题,我如何解决这个问题。 我还尝试创建另一个位图,上面有一条直线,将新位图设置为在绘图()末尾的图像视图,并检查点击()。它显示新的位图(

  • 本文向大家介绍JavaScript使用canvas绘制随机验证码,包括了JavaScript使用canvas绘制随机验证码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了使用canvas绘制随机验证码的具体代码,供大家参考,具体内容如下 理论基础: 掌握使用canvas绘制线条和圆形以及绘制文字 实现思路: 先构建一个画布,设置一定的宽高(在canvas中设置宽高和在style中设置

  • 问题内容: 是否可以将CSS动画(在我的情况下为发光效果)应用于用javascript在画布上绘制的圆上? 我正在使用以下angularjs指令:https : //github.com/angular-directives/angular-round-progress- directive/blob/master/angular-round-progress- directive.js 我将其用

  • 更改画笔大小和钢笔压力的不透明度 如果您使用图形绘制绘图板(例如 Wacom® 绘图板),则可以通过钢笔压力、角度、旋转或光笔轮来控制绘画工具。 选择“画笔”、“铅笔” 或其他绘画工具。 在选项栏中,执行下列某个操作: 单击“绘图板压力控制大小”按钮。 单击“绘图板压力控制不透明度”按钮。 注意:选取“窗口”>“画笔”可访问根据钢笔压力而改变角度、流量、散布程度、纹理深度以及描边圆度的其他控制选项