Java绘图入门和机制---java学习

绘图原理
Component类提供了两个和绘图相关最重要的方法:
1.paint(Graphics g)绘制组件的外观
2.repaint()刷新组件的外观

当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件
在以下情况paint()将会被调用
1.窗口最小化,再最大化
2.窗口的大小发生变化
3.repaint方法被调用

import javax.swing.*;
import java.awt.*;

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);//可视化
    }
}

//1.先定义一个面板 MyPanel(),继承JPanel类,画图形就在面板上画
class MyPanel extends JPanel{
    @Override
    //说明
    //1.MyPanel 对象就是一个画板
    //2.Graphics g 把 g 理解成一支画笔
    //3.Graphics 类是所有图形上下文的抽象基类,运行应用程序回值在各种设备上实现的组件,以及屏幕上的图像
    //Graphics g
    public void paint(Graphics g) {//绘图方法
        super.paint(g);//调用父类的方法完成初始化

        g.drawOval(10,10,100,100);
    }
}

Graphics类
1.画直线 drawLine(int x1,int y1,int x2,int y2)
2.画矩形边框 drawRect(int x,int y,int width,int height)
3.画椭圆边框 drawOval(int x,int y,int width,int height)
4.填充矩形 fillRect(int x,int y,int width,int height)
5.填充椭圆 fillOval(int x,int y,int width,int height)
6.画图片 drawImage(Image img,int x,int y,…)
7.画字符串 drawString(String str,int x,int y)
8.设置画笔字体 setFont(Font font)
9.设置画笔的颜色 setColor(Color c)

import javax.swing.*;
import java.awt.*;

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);//可视化
    }
}

//1.先定义一个面板 MyPanel(),继承JPanel类,画图形就在面板上画
class MyPanel extends JPanel{
    @Override
    //说明
    //1.MyPanel 对象就是一个画板
    //2.Graphics g 把 g 理解成一支画笔
    //3.Graphics 类是所有图形上下文的抽象基类,运行应用程序回值在各种设备上实现的组件,以及屏幕上的图像
    //Graphics g
    public void paint(Graphics g) {//绘图方法
        super.paint(g);//调用父类的方法完成初始化

        //g.drawOval(10,10,100,100);


        //演示绘制不同的图形
//    1.画直线 drawLine(int x1,int y1,int x2,int y2)
        //g.drawLine(10,10,100,10);
//    2.画矩形边框 drawRect(int x,int y,int width,int height)
        //g.drawRect(10,10,100,100);
//    3.画椭圆边框 drawOval(int x,int y,int width,int height)
//    4.填充矩形 fillRect(int x,int y,int width,int height)
        //设置画笔颜色
        //g.setColor(Color.blue);
        //g.fillRect(10,10,100,100);
//    5.填充椭圆 fillOval(int x,int y,int width,int height)
//    6.画图片 drawImage(Image img,int x,int y,...)
        //1.获取图片资源,/bg.png 表示再该项目的根目录去获取 bg.png 图片资源
        //Image image = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/bg.jpg"));
        //g.drawImage(image,10,10,200,220,this);
//    7.画字符串 drawString(String str,int x,int y)//写字
        //给画笔设置颜色和字体
        //g.setColor(Color.green);
        //g.setFont(new Font("隶书",Font.BOLD,50));
        //g.drawString("北京你好",100,100);//左下角
//    8.设置画笔字体 setFont(Font font)
//    9.设置画笔的颜色  setColor(Color c)
        
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值