当前位置:   article > 正文

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

java canvas





一、绘图步骤



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

    static class MyCanvas extends Canvas {
        @Override
        public void paint(Graphics g) {
            // 绘制图形具体内容
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

    static class MyCanvas extends Canvas {
        @Override
        public void paint(Graphics g) {
            // 绘制图形
            g.setColor(Color.BLACK);
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

    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);
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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





二、绘图代码示例



代码示例 :

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);
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

执行效果 :

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/67514
推荐阅读
相关标签
  

闽ICP备14008679号