前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ③ ( 绘图步骤 | 绘图案例 )

【Java AWT 图形界面编程】Canvas 组件中使用 Graphics 绘图 ③ ( 绘图步骤 | 绘图案例 )

作者头像
韩曙亮
发布2023-03-30 18:47:29
5810
发布2023-03-30 18:47:29
举报

文章目录

一、绘图步骤


首先 , 自定义 Canvas 组件类 , 重写其中的 Component#paint(Graphics g) 函数 , Component 组件 与 Graphics 是由 paint(Graphics g) 函数 进行关联的 ;

代码语言:javascript
复制
    static class MyCanvas extends Canvas {
        @Override
        public void paint(Graphics g) {
            // 绘制图形具体内容
        }
    }

然后 , 在自定义的 Canvas 组件 重写的 Component#paint(Graphics g) 函数中 , 先调用 Graphics 实例对象的 setColor , setFont 等函数 , 设置画笔的相关属性 ;

代码语言:javascript
复制
    static class MyCanvas extends Canvas {
        @Override
        public void paint(Graphics g) {
            // 绘制图形
            g.setColor(Color.BLACK);
        }
    }

最后 , 调用 Graphics 实例对象的 drawXxx 函数开始绘图 ;

代码语言:javascript
复制
    static class MyCanvas extends Canvas {
        @Override
        public void paint(Graphics g) {
            // 绘制图形
            g.setColor(Color.BLACK);

            // 绘制线段
            g.drawLine(10, 10, 100, 10);

            // 绘制矩形
            g.drawRect(10, 15, 200, 50);

            // 绘制圆形
            g.drawOval(50, 100, 100, 100);
        }
    }

创建 Frame 窗口后 , 直接向 Frame 窗口中放入上述 MyCanvas 实例对象 即可 ;

二、绘图代码示例


代码示例 :

代码语言:javascript
复制
import java.awt.*;

public class HelloAWT {
    public static void main(String[] args) {
        // Frame 默认的布局管理器就是 BorderLayout
        Frame frame = new Frame("AWT 界面编程");

        MyCanvas myCanvas = new MyCanvas();
        frame.add(myCanvas);

        // 自动设置 Frame 窗口合适的大小
        frame.setBounds(0, 0, 300, 300);
        frame.setVisible(true);
    }

    static class MyCanvas extends Canvas {
        @Override
        public void paint(Graphics g) {
            // 绘制图形
            g.setColor(Color.BLACK);

            // 绘制线段
            g.drawLine(10, 10, 100, 10);

            // 绘制矩形
            g.drawRect(10, 15, 200, 50);

            // 绘制圆形
            g.drawOval(50, 100, 100, 100);
        }
    }
}

执行效果 :

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、绘图步骤
  • 二、绘图代码示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档