废话不多说,上代码。
package com.tavon.tank;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TankFrame extends Frame {
int x=200;
int y =200;
public TankFrame(){
setSize(800,600);//设置这个窗口的大小
setResizable(false);//不能拖动窗口的大小
setTitle("tank war");//窗口的标题
setVisible(true);//把这个窗口展示出来
addWindowListener(new WindowAdapter() {//点击关闭按钮就可以关闭窗口。
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
@Override
public void paint(Graphics graphics){
graphics.fillRect(x,y,50,50);//以窗口左上角为顶点,在200,200的位置绘画一个长50,宽50的正方形。
x+=10;//每次改变窗口都像右移动10PX
y+=10;//每次改变窗口都像下移动10PX
System.out.println("paint"+x+"---"+y);
}
}
如何让窗口改变呢,打开浏览器,在任务栏中点击java的窗口,java窗口会展示在浏览器的上面,再次点击会跑到浏览器的会面,快速点击就会发现正方形在移动,因为每次窗口显现和不显现都会调用paint的方法,重新绘制我们看到的窗口内容。