Java语法学习坐标体系/绘图

Java语法学习坐标体系/绘图

大纲

  1. 基本介绍
  2. 绘图

具体案例

1. 基本介绍

Java语法学习坐标体系/绘图_第1张图片

2.绘图

基本介绍:

注意每次自动调用,就会重新执行一次paint方法里的所有程序

先自定义面板

创建一个类继承JPanel,然后重写构造器,paint方法

class MyPanel extends JPanel {
    @Override
    public void paint(Graphics g) {
        super.paint(g);
    }
    
}

再调用里面的方法进行绘图(具体查找API)

注意是在我们重写的paint方法里绘制

对于第二点:
前面是左上角坐标,后面是右下角坐标
对于第三点:
设置的绘制椭圆的左上角的坐标,然后分别是宽和高

画图片(对应方法第六点)(左上角为坐标点)
  1. 获取图片的信息
    首先复制图片
    然后到out里面与该项目同名的文件上粘贴
    如图所示
    Java语法学习坐标体系/绘图_第2张图片
  2. 然后调用固定格式
    Image image = Toolkit.getDefaultToolkit().getImage(MyPanel.class.getResource(“/”))
    注意:这里的MyPanel,是我创建这个画板的名字,这个可以改变,然后是最后在getResource(“/”)中/代表根项目,后面再添加我们添加的图片的名字(文件类型也要写进去)
class MyPanel extends JPanel {
    //创建一个画板,画板名
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.drawOval(10,10,100,100);
        Image image = Toolkit.getDefaultToolkit().getImage(MyPanel.class.getResource("/QQ截图20240107001216.png"));
        g.drawImage(image,30,30,731,1087,this);
    }
  1. 最后调用g.drawImage方法,依次填入,我们上面创建的图片,图片起始的x,y,和我们图像对于的宽度,高度,最后指定在这个对象生成
设置字体(左下角为坐标点)

对应传入参数

 g.setFont(new Font("隶书",Font.BOLD,50));
        //第一个设置字体,第二个设置的粗细,最后设置大小
        g.drawString("孙孙你好",300,75);

让公共类继承 JFrame,并在构造器里创建画板

  1. 添加画板
  2. 设置画板的宽度,高度,
  3. 让画板可视化
  4. 最后在主方法里创建一个公共类的对象
public class tank extends JFrame {
    MyPanel myPanel ;
    //声明我们的画板
    public static void main(String[] args) {
	new tank();
	//创建公共类的对象
    }
    public tank(){
        //创造构造器
        myPanel = new MyPanel();
        //把画板实例化
        this.add(myPanel);
        //添加画板
        this.setSize(400,400);
        //设置画板的宽度,高度
        this.setVisible(true);
        //设置画板是否可以看见
    }
}
class MyPanel extends JPanel {
    //创建一个画板
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.drawOval(10,10,100,100);
    }
}

当关闭窗口就退出程序

利用setDefaultCloseOperation方法,再使用JFrame的EXIT_ON_CLOSE

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //设置当关闭窗口就退出程序

你可能感兴趣的:(java基本语法,大一学java,java,学习,python)