其他分享
首页 > 其他分享> > 绘图

绘图

作者:互联网

绘图

此系列笔记来源于

BiliBili韩顺平老师的Java基础课


坐标体系

image-20220416102603118

绘图原理

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

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

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

当组件第一次在屏幕显示时,程序会自动调用paint()方法来绘制组件

在以下情况时paint()会被调用:

1、窗口最小化,再最大化

2、窗口的大小发生变化

3、repaint函数被调用

画一个圆形示例

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

@SuppressWarnings({"all"})
public class Yra extends JFrame{ // JFrame对应一个窗口,可以理解为一个画框
    private myPanel mp = null; //定义一个面板
    public static void main(String[] args) {
        Yra yra = new Yra();
    }
    public Yra() { // 构造器
        mp = new myPanel(); //初始化窗口
        this.add(mp); //将面板放入画框
        this.setSize(400, 300); //设置窗口大小
        this.setVisible(true); //设置为可见
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口会直接退出程序,否则不会
    }
}

class myPanel extends JPanel { //创建一个画板,继承JPanel

    @Override
    public void paint(Graphics g) { //g可以理解为一个画笔
        super.paint(g); //利用父类的方法完成初始胡

        //画出一个圆形
        g.drawOval(10, 10, 100, 100); //左上角x,左上角y,宽,高
    }
}


绘图函数

g.drawLine(intg x1, int y1, int x2, int y2); //画直线
g.drawRect(int x, int y, int width, int heigh); //画矩形,(x, y)为左上角坐标
g.drawOval(int x, int y, int width, int heigh) //画椭圆边框
g.fillRect(int x, int y, int width, int heigh) //填充矩形
g.fillOval(int x, int y, int width, int heigh) //填充椭圆
    
//画图片 
//1、获取图片资源
Image image = Toolkit.getDefaultToolkit().getImage(myPanel(定义的继承JPanel画板类).class.getResource("..."));
//2、画图片
g.drawImage(image, int x, int y, int weight, int height, this);
//------
g.setFont(new Font("隶书", Font.BOLD, 50)) //设置字体
g.drawString("...", int x, int y) //打印字符串,内容、左下角x、左下角y

标签:int,Yra,paint,绘图,public,myPanel
来源: https://www.cnblogs.com/yramvj/p/16155253.html