注:此笔记是观看完java黄金矿工项目实战后的笔记,
1.窗口的设置(JFrame)
JFrame是 Java Swing GUI(图形用户界面)库中的一个核心类。用于创建主窗口或顶级容器。
以下是一个简单的示例,演示了如何使用 JFrame
创建一个基本的窗口:
1 | import javax.swing.*; |
2.图片的导入
注:此处算是一个速成,图片导入没有检验不太严谨,还要其他一些不严谨的地方,具体先跳过,能用就行,以后会补充。
paint函数的drawImage,paintLine
1 | public class window extends JFrame { |
双缓存技术
即:创建一个画布,将所有东西加载到画布上面,然后将画布传入窗体中,解决闪动问题。
我使用了 Graphics
而不是 Graphics2D
,因为 Graphics2D
提供了更多的绘制功能,而我暂时不需要用。
1 | //此处代码是接着上面的代码写的 |
解析:
Image offScreenImage;
- 知识点:
Image
是Java AWT库中的一个类,用于表示图像。在这里,它被用作一个“离屏缓冲区”,即一个不在屏幕上直接显示的图像缓冲区。 - 用途:通常,离屏缓冲区用于提高图形渲染的性能。你可以在这个缓冲区上进行复杂的绘制操作,然后再一次性将这个缓冲区的内容绘制到屏幕上,而不是在屏幕上进行频繁的绘制操作。
public void paint(Graphics g)
- 知识点:
paint
方法是Java AWT和Swing组件中用于绘制组件内容的方法。当组件需要被重绘时(例如,首次显示、组件大小改变或调用了repaint
方法),这个方法就会被调用。
offScreenImage =this.createImage(768,1000);
- 知识点:
createImage
是Java AWT组件的一个方法,用于创建一个新的离屏图像。这里,它创建了一个宽度为768像素、高度为1000像素的离屏图像。
Graphics glImage = offScreenImage.getGraphics();
- 知识点:
getGraphics
方法是从Image
对象中获取Graphics
对象的方法,这个Graphics
对象可以用于在图像上进行绘制。
鼠标监听事件
作用:获取鼠标的状态,通过获得不同的状态,进而进行不同的操作
1 | addMouseListener(new MouseAdapter() { |
增强for循环
在创建金块对象时,创建一个Object类型的集合,使用增强for循环来遍历提取金块元素
作用及优势:简洁,容易读,类型安全
增强for循环(Enhanced For Loop),也称为”for-each”循环,是Java 5及以后版本引入的一种简化数组和集合遍历的语法。它允许你更简洁地遍历数组或集合中的元素,而无需使用传统的基于索引的for循环。
遍历数组
1 | int[] numbers = {1, 2, 3, 4, 5}; |
在这个例子中,number
是数组 numbers
中当前遍历到的元素。for (int number : numbers)
这种语法告诉Java我们想要遍历 numbers
数组中的每一个元素,并且每次迭代时都将当前元素的值赋给 number
变量。
遍历集合
1 | import java.util.ArrayList; |
在这个例子中,name
是 names
列表中当前遍历到的字符串。for (String name : names)
语法告诉Java我们想要遍历 names
列表中的每一个元素,并且每次迭代时都将当前元素的值赋给 name
变量。