1、Java绘图坐标体系

Java坐标系,坐标原点位于左上角,以像素为单位。

水平方向为x轴,向右为正方向

垂直方向为y轴,向下为正方向

Java绘图技术的基本使用_Java绘图技术的基本使用

2、像素

像素是密度单位,不等同于厘米,例如,计算机显示的分辨率是800X600

就表示的计算机屏幕一行有800个像素方块,共有600行,总共480000个像素方块构成,与厘米无法比较

3、说明

Component类提供了两个和绘图相关的重要方法

1)paint(Graphics g)绘制组件的外观

2)repaint()刷新组件的外观

注意:会自动的调用paint()方法的三种情况

1)当窗口最小化,然后最大化

2)窗口的大小发生变化

3)repaint()方法被调用

4、画一个圆

//1、画一个圆
package com.TEST;
import javax.swing.*;
import java.awt.*;

public class Test1 extends JFrame{//窗口
	private MyPanle mp = null;
	public static void main(String[] args){
		new Test1();
		System.out.println("program will be end");
	}
	public Test1(){//构造器
		//初始化面板
		mp=new MyPanle();
		//将面板放到窗口
		this.add(mp);
		//设置窗口大小
		this.setSize(300,200);
		//设置显示
		this.setVisible(true);
		//设置退出
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

class MyPanle extends JPanel{
	//MyPanle是画板
	//Graphics画笔---并提供了很多方法
	@Override
	public void paint(Graphics g){
		super.paint(g);//调用父类完成画笔初始化
		g.drawOval(10,10,100,100);
	}
}

Java绘图技术的基本使用_Java绘图技术的基本使用_02

5、其他常见图形

前言

绘图,只需要在Paint绘图方法中添加,修改,替换代码即可

直线

@Override
    public void paint(Graphics g){ // 绘图方法
        super.paint(g); // 调用父类的方法完成初始化	
        g.drawLine(20,20,100,100);

    }

Java绘图技术的基本使用_Java绘图技术的基本使用_03

矩形边框

@Override
    public void paint(Graphics g){ // 绘图方法
        super.paint(g); // 调用父类的方法完成初始化	
        g.drawRect(20,20,100,100);
    }

Java绘图技术的基本使用_Java绘图技术的基本使用_04

填充矩形

@Override
    public void paint(Graphics g){ // 绘图方法
        super.paint(g); // 调用父类的方法完成初始化	
        g.setColor(Color.blue); // 设置颜色
        g.fillRect(20,20,100,100); 
    }

Java绘图技术的基本使用_Java绘图技术的基本使用_05

填充圆

@Override
    public void paint(Graphics g){ // 绘图方法
        super.paint(g); // 调用父类的方法完成初始化	
        g.setColor(Color.red);
		g.fillOval(20,20,100,100);
    }

Java绘图技术的基本使用_Java绘图技术的基本使用_06

填充椭圆

@Override
    public void paint(Graphics g){ // 绘图方法
        super.paint(g); // 调用父类的方法完成初始化	
        g.setColor(Color.green);
		g.fillOval(20,20,50,100);
    }

Java绘图技术的基本使用_Java绘图技术的基本使用_07

加载图片

@Override
    public void paint(Graphics g){ // 绘图方法
        super.paint(g); // 调用父类的方法完成初始化	
        // 获取图片资源
        Image image =new ImageIcon("src/bg.jpg").getImage(); 
        // 画图
        g.drawImage(image, 10, 10, 450, 288, this);
        
        
        //注意:图片文件在src文件路径下
    }

Java绘图技术的基本使用_Java绘图技术的基本使用_08

Java绘图技术的基本使用_Java绘图技术的基本使用_09

加载字符串

@Override
    public void paint(Graphics g){ // 绘图方法
        super.paint(g); // 调用父类的方法完成初始化	
        g.setColor(Color.BLUE);
        g.setFont(new Font("隶书", Font.BOLD, 50));
        g.drawString("这是一个字符串abc",10,100);
    }

Java绘图技术的基本使用_Java绘图技术的基本使用_10