Java语法学习坐标体系/绘图
大纲
- 基本介绍
- 绘图
具体案例
1. 基本介绍
2.绘图
基本介绍:
注意每次自动调用,就会重新执行一次paint方法里的所有程序
先自定义面板
创建一个类继承JPanel,然后重写构造器,paint方法
class MyPanel extends JPanel {@Overridepublic void paint(Graphics g) {super.paint(g);}}
再调用里面的方法进行绘图(具体查找API)
注意是在我们重写的paint方法里绘制
对于第二点:
前面是左上角坐标,后面是右下角坐标
对于第三点:
设置的绘制椭圆的左上角的坐标,然后分别是宽和高
画图片(对应方法第六点)(左上角为坐标点)
- 获取图片的信息
首先复制图片
然后到out里面与该项目同名的文件上粘贴
如图所示
- 然后调用固定格式
Image image = Toolkit.getDefaultToolkit().getImage(MyPanel.class.getResource(“/”))
注意:这里的MyPanel,是我创建这个画板的名字,这个可以改变,然后是最后在getResource(“/”)中/代表根项目,后面再添加我们添加的图片的名字(文件类型也要写进去)
class MyPanel extends JPanel {//创建一个画板,画板名@Overridepublic 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);}
- 最后调用g.drawImage方法,依次填入,我们上面创建的图片,图片起始的x,y,和我们图像对于的宽度,高度,最后指定在这个对象生成
设置字体(左下角为坐标点)
对应传入参数
g.setFont(new Font("隶书",Font.BOLD,50));//第一个设置字体,第二个设置的粗细,最后设置大小g.drawString("孙孙你好",300,75);
让公共类继承 JFrame,并在构造器里创建画板
- 添加画板
- 设置画板的宽度,高度,
- 让画板可视化
- 最后在主方法里创建一个公共类的对象
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 {//创建一个画板@Overridepublic void paint(Graphics g) {super.paint(g);g.drawOval(10,10,100,100);}
}
当关闭窗口就退出程序
利用setDefaultCloseOperation方法,再使用JFrame的EXIT_ON_CLOSE
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置当关闭窗口就退出程序