JAVA开发坦克大战小游戏个人实战笔记

更新时间:2020-10-28 16:40:14 点击次数:1152次
1、认识frame类
a、这是一个窗口类
b、常用方法
setSize();## 标题//设置大小
setVisible();//显示窗口
setTitle();//设置标题
setResizable();//设置是否能改变窗口大小
addWIndowListener //创建窗口监听器`
package tank;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class mainActivity {
public static void main(String[] args) {
// TODO Auto-generated method stub
Frame f=new Frame();     //调用jar包awt下的Frame窗口类进行实例化
f.setVisible(true);     //调用显示窗口的方法,设置窗口可见参数为true
f.setSize(1000,800); //设置窗口大小,括号内为窗口大小参数,单位为像素
f.setResizable(false);  //设置是否能改变窗口大小,是为true,否为false
f.setTitle("坦克世界"); //设置标题 
f.addWindowListener(new WindowAdapter() {//使用匿名内部类创建窗口监听器
@Override
public void windowClosing(WindowEvent e) {//被监听者
// TODO Auto-generated method stub
System.exit(0);//系统退出
}
});
}
}
这样就可以点击自己创建好的窗口的“❌”号关闭这个窗口了。
其实还可以重新创建一个class文件命名为tankfram ,使其继承自Frame,在tankframe类中还应该创建一个无参的构造方法在这个无参的构造方法中写入属性设置
**package tank;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class tankfram extends Frame {
public tankfram() {
setVisible(true);     //调用显示窗口的方法,设置窗口可见参数为true
setSize(800,600); //设置窗口大小,括号内为窗口大小参数,单位为像素
setResizable(false);  //设置是否能改变窗口大小,是为true,否为false
setTitle("̹坦克世界"); //设置标题 
addWindowListener(new WindowAdapter() {//使用匿名内部类创建窗口监听器
@Override
public void windowClosing(WindowEvent e) {//被监听者
// TODO Auto-generated method stub
System.exit(0);//系统退出
}
});
}
}
接着在mainActivity中调用这个无参的构造方法即可
2、重写paint方法,使用Graphics画笔工具画一个矩形
这个画笔工具其实就是一个Frame类中的方法,我们需要早tankframelei中重写这个方法
@Override
public void paint(Graphics g) {//Graphics 可以理解为画笔
g.fillRect(200, 200, 50, 50);//使用画笔在窗口的横向距离200像素点,纵向距离200200像素点的地方创建一个长50像素宽50像素的矩形
}
在这个方法中x轴也就是横向是标题栏从左至右依次增大,y轴也就是纵向是标题栏从上往下依次增大
3、让我们画出的矩形动起来
要让我们画出的矩形动起来一般我们需要设置一个线程,但是考虑到我是一个初学者,我准备使用一个循环来完成它。
首先,需要介绍一个监听器,这个监听器是KeyAdapter,这个监听器中有两个方法,一个是keyPressed,这个方法是监听键盘的按下活动的,另一个是keyReleased方法,这个方法是监听键盘抬起活动的
class mykeyListener extends KeyAdapter{
@Override
public void keyPressed(KeyEvent e) {     //键盘按下
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) { //键盘抬起
// TODO Auto-generated method stub
}
}

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!