Java语法学习坐标体系/绘图
大纲
- 基本介绍
- 绘图
具体案例
1. 基本介绍
2.绘图
基本介绍:
注意每次自动调用,就会重新执行一次paint方法里的所有程序
先自定义面板
创建一个类继承JPanel,然后重写构造器,paint方法
class MyPanel extends JPanel {
@Override
public void paint(Graphics g) {
super.paint(g);
}
}
再调用里面的方法进行绘图(具体查找API)
注意是在我们重写的paint方法里绘制
对于第二点:
前面是左上角坐标,后面是右下角坐标
对于第三点:
设置的绘制椭圆的左上角的坐标,然后分别是宽和高
画图片(对应方法第六点)(左上角为坐标点)
- 获取图片的信息
首先复制图片
然后到out里面与该项目同名的文件上粘贴
如图所示
- 然后调用固定格式
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);
}
- 最后调用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 {
//创建一个画板
@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);
//设置当关闭窗口就退出程序