
package 坦克大战.draw;
import javax.swing.*;
import java.awt.*;
/**
* @Auther:
* @Date: 2022/4/16 - 04 - 16 - 21:16
* @Description: 坦克大战.draw
* @version: 1.0
*/
public class draw extends JFrame{//继承JFrame、JFrame对应窗口,可以当作一个画框
//定义一个画板
private Panel panel = null;
//主函数
public static void main(String[] args) {
draw draw = new draw();
}
//构造器
public draw(){
//初始化面板
panel = new Panel();
//面板放入画框
this.add(panel);
//设置画框大小
this.setSize(400,400);
//设置当点击窗口结束按钮后程序退出。若无此设置点击窗口 x 按钮后程序仍在执行
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置显示
this.setVisible(true);
}
}
/*
* 说明paint()方法被调用的情况:
* 1、当组件第一次在屏幕显示时会自动调用paint()方法
* 2、窗口最小化,再最大化
* 3、窗口大小发生变化
* 4、repaint()函数被调用
* */
//绘制一个面板,继承JPanel
class Panel extends JPanel{
//panel是一个画板
//graphics g--是一个画笔
@Override
public void paint(Graphics g) { //这是一个绘图方法
super.paint(g); //调用父类方法完成初始化
System.out.println("窗口被调用");
//绘制圆形
g.drawOval(125,125,100,100);
/*
* 绘图方法:
* 画直线:drawLine(int var1, int var2, int var3, int var4)
* 画矩形边框:drawRect(int x, int y, int width, int height)
* 画椭圆边框:drawOval(int var1, int var2, int var3, int var4)
* 填充矩形:fillRect(int var1, int var2, int var3, int var4)
* 设置画笔颜色:setColor(Color.blue);
* 填充椭圆:fillOval(int var1, int var2, int var3, int var4)
* 画图片:
* //获取图片资源---Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/picture.png"))
* //画图片:Image image = drawImage(Image var1, int var2, int var3, int var4, int var5, ImageObserver var6)
* 例:drawImage(image, 125, 125, 200, 200, this)
* 设置画笔字体:setFont(Font var1)
* 画字符串:drawString(String var1, int var2, int var3)
* */
}
}
出处:韩顺平老师
声明:此文章为学习笔记,如有侵权请联系删除。
该博客介绍了如何使用Java Swing库创建一个简单的坦克大战游戏的图形界面。通过继承JFrame类创建窗口,并在其中放置一个Panel进行绘图。在Panel的paint方法中绘制了一个圆形作为坦克的表示。博客还提到了paint方法的调用时机,如窗口初次显示、窗口大小改变等情况。此外,博主分享了关于图形绘制的基本方法,如画直线、矩形、椭圆等。

2353

被折叠的 条评论
为什么被折叠?



