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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马连家华 中级黑马   /  2012-7-16 02:04  /  2101 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Noword 于 2012-7-16 14:29 编辑

import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;


class f
{
        public static void main(String[] args)
        {
        Frame frame = new Frame("asdf");
        TextField tf = new TextField();
        frame.add(tf);
        frame.setVisible(true);
        tf.addKeyListener(new KeyAdapter()
        {
                public void KeyPressed(KeyEvent k)
                {
                        if(k.getKeyCode() == KeyEvent.VK_ENTER)
                        System.out.println("asdf");
                }
        });
}}
为什么没反应!!!气死我了,弄了一天了



4 个回复

倒序浏览
本帖最后由 杨_扬 于 2012-7-16 02:28 编辑

嗯,你肯定是粗心了
public void KeyPressed(KeyEvent k)
这句你再仔细看看,是不是感觉什么地方有点不对劲?
KeyPressed 应该是keyPressed第一个字母k是小写
一般情况下方法名的首字母都小写,对吧?呵呵
回复 使用道具 举报
public void KeyPressed(KeyEvent k)
                {
                        if(k.getKeyCode() == KeyEvent.VK_ENTER)
                        System.out.println("asdf");
                }
        });
方法名字出错了,应该是小写的。
建议哥们用MyEclipse编译器,这个会直接提示编译错误的信息,可以帮你检查语法错误,可以帮你省去好多因为粗细
而不小心的语法错误

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

回复 使用道具 举报
在myelipse下可以很容易的看到提示信息,The method KeyPressed(KeyEvent) from the type new KeyAdapter(){} is never used  locally,说明这个方法一直不会被调用到,可是你需要调用键盘的按下事件,你就会试着修改一下,然后把方法名字改为keyPressed后就会看到你想要的Invoked when a key has been pressed.当一个键被按下时,会被调用。

a.JPG (34.84 KB, 下载次数: 12)

KeyPressed

KeyPressed

b.JPG (36.75 KB, 下载次数: 10)

keyPressed

keyPressed

评分

参与人数 1技术分 +1 收起 理由
刘笑 + 1 赞一个!

查看全部评分

回复 使用道具 举报
写的时候还纳闷儿了,人家都小写怎么这个就大写了呢?我还百度了,结果百度也是大写...然后我就没想过大小写的问题.....................................................................................郁闷
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马