java笔记之绘图部分

文章介绍了Java中的绘图坐标体系,起点在左上角,以像素为单位。讲解了Graphics类在Java绘图中的作用,通过MyPanel和JFrame创建画布并绘制图形,如圆、直线、矩形和椭圆,并涉及到图片的绘制以及文字输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

韩顺平老师的零基础学java的笔记总结。


一、java绘图坐标体系

1.java绘图坐标体系介绍

左标原点位于左上方,以像素为单位。水平为x坐标,代表距离坐标原点x个像素。垂直为y坐标,代表距离左标原点y个像素。
在这里插入图片描述

2.坐标体系-像素

1.800*600就是每行有800个像素,有600行。
2.像素是密度单位。每行像素多,显示的图像信息就多,每个像素显示的图像就有点小。像素少,显示的图像信息就比较大。
3.像素是密度单位,不能与长度单位相比较。

3.java绘图技术的引入

(1)先定义一个任意类MyPanel,继承JPanel类,画图像就在画板上画。

class MyPanel extends JPanel {
    @Override
    public void paint(Graphics g) {//绘画方法,g是画笔,有画画的相关方法
       super.paint(g);//调用父类方法完成初始化
    g.drawOver(10,10,100,100);//画一个圆。
    }
}

(2)在主类中继承JFrame类,把画板对象添加到这个框架当中去。

public class DrawCircle extends JFrame {//JFrame窗口,对应画框
    //画板
    private MyPanel mp = null;

    public static void main(String[] args) {
        new DrawCircle();
    }

    public DrawCircle() {
        //初始化面板
        mp = new MyPanel();
        this.add(mp);//将画布加到画框中。
        this.setSize(400, 300);//设置窗口大小     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //设置关闭画框时退出程序。
        this.setVisible(true);//设置是否可以显示
    }
}

JPanel是一个画板
Graphics g 是画笔
Graphics里面有很多绘图的方法,通过g调用。
JFrame是一个框架,相等与一个画框。

即JFrame是一个画框(窗口),可以调节大小等。
JPanel是一个画布,可以在上面画画。通过paint方法。
Graphics的对象就是一个画笔,具体画画的方法就通过这个实现。
(3)paint方法的调用情况
Component类提供了两个绘图最重要的方法:paint和repaint.
1.paint(Graphics g)绘制组件的外观。
2.repaint()刷新组件的外观。

1.组件第一次在屏幕显示时,系统自动调用paint()方法绘制组件。
2.窗口大小变化,或最小最大化时。
3.repaint()函数被调用时。

二、Graphics类

Graphics类(画笔)为绘制各种图像提供了很多方法。
在这里插入图片描述

    public void paint(Graphics g) {//绘画方法,g是画笔,有画画的相关方法
        super.paint(g);//调用父类方法完成初始化
        //画圆
//        System.out.println("我要画画");
        g.drawOval(10, 10, 120, 120);
//1.画直线drawLine()
       g.drawLine(10,10,234,234);
//2.画矩形边框drawRect()
       g.drawRect(20,20,50,50);
//3.画椭圆边框drawOvar
       g.drawOval(10,10,20,30);
//4.填充矩形fillRect(),设置画笔颜色
       g.setColor(Color.blue);
       g.fillRect(10,10,100,100);
//5.填充椭圆fillOval()
        g.setColor(Color.BLACK);
        g.fillOval(10,10,100,120)
//6.画图片,drawImage(img,x,y);x,y:位置。再后面两个图片的真实宽高。
//6.1.获取图片资源
Image image= Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/bg.png"));
        g.drawImage(image,10,10,175,221,this);
//7.设置画笔的颜色setColor和字体SetFont()
g.setColor(Color.cyan);
g.setFont(new Font("楷书",Font.BOLD,50));
//8.写字符串(汉字)
g.drawString("我欲踏云千万里",40,40);
    }

其中获取图片资源时,图片路径为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值