回 帖 发 新 帖 刷新版面

主题:判断‘a’是否按下

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class e4 extends Applet 
{
    TextArea ta=new TextArea(4,20);
    public void init()
    {
        this.add(ta);
        this.addKeyListener(new ka());
    }
    class ka extends KeyAdapter
    {
        public void KeyPressed(KeyEvent e)
        {
            if(e.getKeyCode() == KeyEvent.VK_A)
            ta.setText("You have pressed 'a'");
        }
        
    }
}
为什么按下a键没有反应?

回复列表 (共5个回复)

沙发

你 查 一下 A 的keyChar 是多少!String aString = e.getKeyText(e.getKeyChar()); 好象是 NumPad-1 。 不知道有没有回答您的问题。

板凳

方法:
public void KeyPressed(KeyEvent e)
        {
            if(e.getKeyCode() == KeyEvent.VK_A)
            ta.setText("You have pressed 'a'");
        }
都没调用到.

3 楼

this.addKeyListener(new ka(this));

4 楼

感谢大家的回帖!如果把this.addKeyListener(new ka());改成ta.addKeyListener(new ka());然后在文本域里写下‘a'可以出现相应的事件。但是小应用程序本身为什么不能添加键盘事件监听者?

5 楼


you can check out the FocusEvent from API.

A tutorial link:

http://java.sun.com/j2se/1.5.0/docs/api/java/awt/doc-files/FocusSpec.html

我来回复

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