KeyListener

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-23 20:51   11   0

键盘事件类KeyListener,KeyEvent

(2013-05-29 13:37:57)
分类: java
键盘事件类(KeyEvent)是容器内的任意组件获得焦点时,组件发生键击事件,当按下
释放或键入某一个键时,组件对象将产生该事件。使用键盘事件必须给组件添加一个
KeyListener 接口的事件处理器,该接口包含以下 3 个方法。

void keyPressed(KeyEvent e):按下按键时发生。
void keyReleased(KeyEvent e):松开按键时发生。
void keyTyped(KeyEvent e):敲击键盘,发生在按键按下后,按键放开前。
键盘事件类的方法有以下几种。

getKeyChar():返回在键盘上按下的字符。
getKeyCode():返回在键盘上按下的字符码。
getKeyLocation():返回键位置。
getKeyModifiersText():返回描述修饰符的文
isActionKey():判断键是否是操作键。
setKeyChar():改变键字符为指定的字符。
setModifiers(int modifiers):改变键修饰符为指定的键修饰符。
paramString():生成事件状态的字符串。
假设有一个文本框组件对象textfield,键盘事件的使用示例如下。

textfield.addKeyListener(new KeyListener()
{
public void keyPressed(KeyEvent e)
{
//按下按键时 dosomething
}
public void keyReleased(KeyEvent e)
{
//放开按键时 dosomething
}
public void keyTyped(KeyEvent e)
{
//敲击键盘,发生在按键按下后,按键放开前 dosmething
}
});



public class Test5 extends Frame {
public Test5()
{
super();
init();
}
public static void main(String args[])
{
new Test5();
}
Button button;
TextArea ta1,ta2;
public void init()
{
setLayout(new GridLayout(3,1));
ta1 = new TextArea();
ta2 = new TextArea();
add(ta1);
button = new Button("请单击我");
button.addKeyListener(new KeyListenerHandler());
add(button);
add(ta2);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
setVisible(false);
dispose();
System.exit(0);
}
});
setSize(400, 200);
setVisible(true);
}
class KeyListenerHandler implements KeyListener{
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
ta2.setText( String.valueOf(e.getKeyChar()) );
}
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
ta1.setText("按下键盘");
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
ta1.setText("松开键 盘");
}
}
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP