当前位置: 首页 > news >正文

Java重修笔记 第五十三天 坦克大战(一)绘图入门

  • 绘制简单的图形
1. 创建画板

        定义一个画板类,通过继承 JPanel 类来创建画板

2. 创建画笔

        在画板类中调用 paint 方法,并传入一个 Graphics g 对象,通过对 g 对象的操作来实现画画的过程

3. 开始作画

        调用 Graphics g 对象的方法在 paint 方法中作画

4. 创建画框

        定义一个框架类,通过继承 JFrame 类来创建一个框架,让 JPanel 画板能够在此框架中显示出来

5. 初始化面板

        在 JFrame 框架类中定义一个 JPanel 画板对象作为属性,并在 JFrame 类的构造方法中给 JPanel 画板对象开辟空间,即初始化面板

6. 将初始化好的面板放入画框

        在 JFrame 框架类的构造方法中初始化好 JPanel 对象后,调用框架类继承过来的add方法,将 JPanel 对象加入到该框架类中

7. 设置画框格式

        在构造方法中调用框架类继承过来的setSize方法、setVisiable方法、setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法来设置画框大小,是否可显示,按退出键退出程序等

8. 初始化框架

        new 框架类就能显示内容了

代码演示:

// 第四步: 创建画框
public class DrawCircle extends JFrame {private MyPanel mp;public static void main(String[] args) {// 第八步: 初始化框架new DrawCircle();}public DrawCircle() {// 第五步: 初始化面板mp = new MyPanel();// 第六步: 将初始化好的面板放入画框this.add(mp);// 第七步: 设置画框格式this.setSize(400,300);this.setVisible(true);}
}// 第一步: 创建画板
class MyPanel extends JPanel {// 第二步: 创建画笔@Overridepublic void paint(Graphics g) {super.paint(g);// 第三步: 开始作画g.drawOval(10, 10, 100, 100);}
}

运行结果:

  • paint 方法被调用的几种情况

1. 组件第一次显示

2. 窗口最小化再最大化

3. 窗口大小发生变化

4. repaint 方法主动刷新组件外观


http://www.mrgr.cn/news/24073.html

相关文章:

  • Go语言现代web开发08 if和switch分支语句
  • 2024年智能录屏解决方案全攻略,从桌面到云端
  • K8s之DNS方案
  • Golang | Leetcode Golang题解之第397题整数替换
  • 8.10Laplacian算子
  • 『功能项目』播放动画时禁止点击移动【40】
  • C++第五节 - this指针、构造函数、析构函数
  • C++ | Leetcode C++题解之第398题随机数索引
  • 全球热门剪辑软件大搜罗
  • 项目答辩总结
  • JavaScript --while案例求一个数字的阶乘
  • 骑砍2霸主MOD开发(26)-使用TrfExporterBlender制作TRF文件
  • QScopedPointer的了解
  • 【LVI-SLAM】RTK、GPS和GNSS定位技术
  • Windows句柄HANDLE是一个指向系统资源的唯一标识符
  • HW | AMD GPU上 “nvidia-smi -lms” 的等价指令——MI300X实时查看GPU使用率
  • 【安全漏洞】Apache Tomcat 高危漏洞版本
  • MYSQL的结构及常用命令
  • windows C++-并行编程-使用 parallel_invoke 来执行并行操作
  • MySQL聚合统计:性能优化与高级应用