tankwar.java

来自「清华大学java2 程序设计基础的绘图中的再现,希望喜欢,也是很不错的一些程序!」· Java 代码 · 共 90 行

JAVA
90
字号
import javax.swing.*; 
import java.awt.*; 

public class TankWar extends JFrame 
{ 
Tank t=new Tank(); 
public void showFrame() 
{ 
this.setTitle("坦克大战"); 
this.setLocation(100,100); 
this.setSize(800,600); 
this.setBackground(Color.green); 
this.setResizable(false); 
this.setDefaultCloseOperation(EXIT_ON_CLOSE); 
this.setVisible(true); 
new Thread(new RepaintThread()).start(); 
} 
public void paint(Graphics g) 
{ 
try 
{ 
t.drawTank(g); 
} 
catch(Exception e) 
{ 
e.printStackTrace(); 
} 
} 
//用于实现重画线程 
private class RepaintThread implements Runnable 
{ 
public void run() 
{ 
while(true) 
{ 
repaint();//这个地方的重画不知道为什么没有把从前绘过的图给擦掉 
// System.out.println("====="); 
try 
{ 
Thread.sleep(1000); 
} 
catch(Exception e) 
{ 
e.printStackTrace(); 
} 
} 
} 
} 
public static void main(String[]args) 
{ 
TankWar tk=new TankWar(); 
Container c=tk.getContentPane(); 
c.setBackground(Color.green); 
tk.showFrame(); 

} 
} 

class Tank 
{ 
private final int WIDTH=30,HEIGHT=20; 
int intX,intY; 
int x,y; 
Tank() 
{ 
} 
Tank(int x,int y) 
{ 
intX=x; 
intY=y; 
} 
public void drawTank(Graphics g) 
{ 
try 
{ 
Color c=g.getColor(); 
g.setColor(Color.RED); 
g.fillRect(x+40,y+40,WIDTH,HEIGHT); 
g.setColor(c); 
x+=50; 
y+=5; 
} 
catch(Exception e) 
{ 
e.printStackTrace(); 
} 

} 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?