键盘 java_Java中键盘不能使用

importjava.awt.*;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;publicclassTankClientex...

import java.awt.*;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class TankClient extends Frame

{

public static final int GAME_WIDTH=800;

public static final int GAME_HIGTH=600;

int x=50,y=50;

Image offScreenImage =null;

public void paint(Graphics g)

{

Color c = g.getColor();

g.setColor(Color.RED);

g.fillOval(x,y,30,30);

g.setColor(c);

}

public void update(Graphics g)

{

if(offScreenImage==null)

{

offScreenImage =this.createImage(GAME_WIDTH,GAME_HIGTH);

}

Graphics goffScreen = offScreenImage.getGraphics();

Color c=goffScreen.getColor();

goffScreen.setColor(Color.GREEN);

goffScreen.fillRect(0, 0, GAME_WIDTH,GAME_HIGTH);

paint(goffScreen);

g.drawImage(offScreenImage,0,0,null);

}

public void lauchFrame()

{

this.setLocation(400,300);

this.setSize(GAME_WIDTH,GAME_HIGTH);

this.setTitle("Tankwar");

this.addWindowListener( new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

this.setResizable(false);

this.setBackground(Color.GREEN);

this.addKeyListener( new KeyMonitor());

setVisible(true);

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

}

public static void main(String[] args)

{

TankClient tc =new TankClient();

tc.lauchFrame();

}

private class PaintThread implements Runnable

{

public void run()

{

while(true)

{

repaint();

try

{

Thread.sleep(65);

}

catch(InterruptedException e)

{

e.printStackTrace();

}

}

}

}

private class KeyMonitor extends KeyAdapter

{

public void KeyPressed(KeyEvent e)

{

System.out.print("fasdfffsafdfsfdffad");

int key=e.getKeyCode();

switch(key)

{

case KeyEvent.VK_RIGHT:

x+=5;break;

case KeyEvent.VK_DOWN:

y+=5;

case KeyEvent.VK_LEFT:

x-=5;break;

case KeyEvent.VK_UP:

y+=5;break;

}

}

}

}

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值