A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© GoodBoy123 高级黑马   /  2014-6-2 15:58  /  1178 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 GoodBoy123 于 2014-6-2 21:15 编辑

键盘监听器没有反映。这是什么问题。

切图。。。。下有代码。


  1. /**
  2. * 键盘事件。
  3. * 把键盘事件源注册到位Button上。
  4. *
  5. * */
  6. import java.awt.*;
  7. import java.awt.event.*;

  8. public class KeyEvent {
  9. public static void main(String args []){
  10. new KeyEvent(); //直接生成匿名对象。
  11. }

  12. private Frame f ;
  13. private Button b ;

  14. KeyEvent(){ //构造方法
  15. setFrameAndButtonInfo(); //一生成就被调用。
  16. }

  17. public void setFrameAndButtonInfo(){
  18. f = new Frame("窗口");
  19. b = new Button("按钮");

  20. f.setSize(200,200);
  21. f.setLocation(300,300);
  22. f.setLayout(new FlowLayout());
  23. f.add(b);
  24. //调用监听器方法
  25. setEvent(); //调用监听器
  26. f.setVisible(true);

  27. }

  28. public void setEvent(){
  29. //添加窗口监中听器
  30. f.addWindowListener(new WindowAdapter(){

  31. public void windowClosing(WindowEvent e){
  32. System.exit(0);
  33. }
  34. });

  35. //添加键盘监听器。
  36. b.addKeyListener(new KeyAdapter(){
  37. public void keyPressed(KeyEvent e){
  38. System.out.println("键盘己被按下");
  39. }

  40. });
  41. }

  42. // public void setButtonKeyEvent(){
  43. // b.addKeyListener(new KeyAdapter(){
  44. // public void keyPressed(KeyEvent e){
  45. // System.out.println("OK");
  46. // }
  47. //
  48. // });
  49. // }
  50. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

4 个回复

倒序浏览
问题就在你的类名上,请把你的类名改掉,不要和API中的类名一样

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
楼上说的对
你定义一个KeyEvent类
到了46行 public void keyPressed(KeyEvent e){
这里就不会接收到键被按下的动作

就出问题了

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
月光海 发表于 2014-6-2 17:52
问题就在你的类名上,请把你的类名改掉,不要和API中的类名一样

Ok明白。。。。:handshake
回复 使用道具 举报
李小然 发表于 2014-6-2 19:01
楼上说的对
你定义一个KeyEvent类
到了46行 public void keyPressed(KeyEvent e){

Ok明白。。。。:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马