回 帖 发 新 帖 刷新版面

主题:求助一道关于键盘监听器中KeyTyped方法的问提

/*我在这个程序中编写了一个JFrame的子类jianpan,其中往键盘中添加了JTextField组件,并且给他添加了一个键盘监听器,是一个内部类,其中对成员方法pubic void KeyTyped()进行了重载,当JTextFiled有字符输入时,将字符输出到控制台。但不管我怎么试,就是不能把它输到控制台,请哪位高人指点一二,小弟不胜感激!*/
import java.awt.Container;
import java.awt.BorderLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;

class jianpan extends JFrame{
public jianpan(){
super("keyboard action");
Container c=getContentPane();
JTextField s=new JTextField(20);
s.addKeyListener(new KeyAdapter(){
public void KeyTyped(KeyEvent e){
System.out.println("keyboard action:"+e.getKeyChar());
}});
c.add(s,BorderLayout.CENTER);
}
public static void main(String[] args){
jianpan a=new jianpan();
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setSize(350,80);
a.setVisible(true);
}
}

回复列表 (共1个回复)

沙发

呵呵 问题就在于你没有覆盖public void keyTyped(KeyEvent e)方法啊~addapter里面这个方法是空的  当然什么都不会输出啊

注意  你自己写了个public void KeyTyped(KeyEvent e)方法   这个是KeyTyped(K大写)而不是需要覆盖的keyTyped(k小写)!

我来回复

您尚未登录,请登录后再回复。点此登录或注册