坦克大战01
java绘图坐标体系
简单介绍
坐标的原点位于左上角,用像素作为单位,横向为x轴,垂直方向为y轴
像素
像素是一个密度单位
eg:显示器的分辨率是800*600,则表示计算机屏幕共有480000个像素
快速入门
public class DrawCircle extends 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);
//当点击窗口的小x,程序就完全退出
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);//可以显示
}
}
//1.先定义一个面板MyPanel(),继承JPanel类
class MyPanel extends JPanel{
//说明
//1.Mypanel对象就是一个画板
//2.Graphics g把g理解成一个画笔
//3.Graphics提供了很多绘图的方法
//Graphics g
@Override
public void paint(Graphics g) {
super.paint(g);//调用父类的方法初始化
//画出一个圆
System.out.println("被调用了~");
g.drawOval(100,100,100,100);
}
}
API文档如下:
运行展示:
绘图原理
-
Component类提供了两个和绘图 相关最重要的方法
- paint(Graphics g)绘制组件的外观
- repaint()刷新组件的外观
-
当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件
-
以下情况paint()会被调用
- 窗口最小化 再最大化
- 窗口的大小发生变化
- repain方法被调用
java绘图技术
Graphics类
-
画直线 drawLine(int x1,int y1,int x2,int y2)
-
画矩形边框 drawRect(int x,int y,int width,int height)
-
画椭圆边框 drawOval(int x,int y,int width,int height)
-
填充矩形 fillRect(int x,int y,int width,int height)
-
填充椭圆 fillOval(int x,int y,int width,int height)
-
画图片 drawImage(Image img,int x,int y,..)
-
遇到了问题,无法成功调用图片
-
已解决,应该把图片粘贴到out目录下的文件名中
-
-
-
画字符串 drawString(String str,int x,int y)
-
设置画笔的字体 setFont(Font font)
-
设置画笔的颜色 setColor(Color c)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现