关于坦克大战中的线程运行的问题,我写了段小代码,为什么要用我注掉的绿色的部分,红色的部分为什么不可以呢

JDHSK 2012-08-28 12:06:50
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;



@SuppressWarnings("serial")
public class TankClient extends Frame{

int x = 50,y = 50 ;

@Override
public void paint(Graphics g) {
Color c = g.getColor();
g.setColor(Color.RED);
g.fillOval(x, y, 30, 30);
g.setColor(c);

y+=9;
}

public void launchFrame() {
setLocation(400,300);
setSize(800,600);
addWindowListener(new MyTankWarClosing());
setResizable(false);
setBackground(Color.GREEN);
setTitle("TankWar");
setVisible(true);

// new Thread(new PaintThread()).start();
}

public static void main(String[] args) {
TankClient tc = new TankClient();
tc.launchFrame();


TankClient a = new TankClient();
TankClient.PaintThread in = a.new PaintThread();
new Thread(in).start();



}

class MyTankWarClosing extends WindowAdapter {

@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}

private class PaintThread implements Runnable {

@Override
public void run() {
while(true) {
repaint();
System.out.println("测试语句");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

}

}
...全文
84 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
JDHSK 2012-08-28
  • 打赏
  • 举报
回复
自己顶一个啊

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧