Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 469|回复: 0

求助,路过的朋友看看吧,为什么无法实现监听啊。

[复制链接]

该用户从未签到

发表于 2014-5-4 09:10:10 | 显示全部楼层 |阅读模式
10Java金币
按键盘后,无法输出,也即无法实现监听。(本来是想控制移动的,但无法监听,也就无法移动了)

  1. package com.Tank;

  2. import java.awt.*;
  3. import javax.swing.*;
  4. import java.awt.event.*;

  5. public class MyTank extends JFrame{
  6.         Mypanel mp = null;

  7.         public static void main(String[] args) {
  8.                 // TODO 自动生成的方法存根
  9.                 new MyTank();
  10.         }

  11.         public MyTank() {
  12.                 mp = new Mypanel();
  13.                 this.add(mp);

  14.                 this.setLocation(300, 100);
  15.                 this.setSize(400, 300);
  16.                 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  17.                 this.setVisible(true);
  18.         }
  19.        
  20. }

  21. class Tank{
  22.         int x = 0;

  23.         public int getX() {
  24.                 return x;
  25.         }

  26.         public void setX(int x) {
  27.                 this.x = x;
  28.         }

  29.         public int getY() {
  30.                 return y;
  31.         }

  32.         public void setY(int y) {
  33.                 this.y = y;
  34.         }

  35.         int y = 0;

  36.         public Tank(int x, int y) {
  37.                 this.x = x;
  38.                 this.y = y;
  39.         }
  40. }

  41. class Hero extends Tank {
  42.         public Hero(int x, int y) {
  43.                 super(x, y);
  44.         }
  45. }

  46. class Mypanel extends JPanel  implements KeyListener{

  47.         Hero hero = null;

  48.         public Mypanel() {
  49.                 hero = new Hero(10, 10);
  50.         }

  51.         public void paint(Graphics g) {
  52.                 super.paint(g);
  53.                 g.fillRect(0, 0, 400, 300);
  54.                 this.drawTank(hero.getX(), hero.getY(), g, 1, 0);
  55.         }
  56.        

  57.         // 封装画坦克方法
  58.         public void drawTank(int x, int y, Graphics g, int type, int direct) {
  59.                 switch (type) {
  60.                 // 我的Tank
  61.                 case 0:
  62.                         g.setColor(Color.CYAN);
  63.                         break;
  64.                 // 敌人Tank
  65.                 case 1:
  66.                         g.setColor(Color.YELLOW);
  67.                         break;
  68.                 }
  69.                 switch (direct) {
  70.                 // 向上走
  71.                 case 0:
  72.                         g.fill3DRect(x, y, 5, 30, false);
  73.                         g.fill3DRect(x + 15, y, 5, 30, false);
  74.             g.fill3DRect(x+5, y+5, 10, 20, false);
  75.             g.fillOval(x+4, y+10, 10, 10);
  76.             g.drawLine(x+10, y, x+10, y+10);
  77.                 }
  78.         }

  79.         public void keyTyped(KeyEvent e) {
  80.                 // TODO 自动生成的方法存根
  81.                 System.out.println("按了:"+e.getKeyChar());
  82.         }

  83.         public void keyPressed(KeyEvent e) {
  84.                 // TODO 自动生成的方法存根
  85.                 System.out.println("按了");
  86.         }

  87.         public void keyReleased(KeyEvent e) {
  88.                 // TODO 自动生成的方法存根
  89.                 System.out.println("释放了");
  90.         }

  91. }
复制代码



回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2014-5-4 10:19:31 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-3-29 18:53 , Processed in 0.347170 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表