您的位置:首页 > 其它

事件监听机制——键盘事件

2015-01-20 22:59 246 查看

键盘事件

首先创建一个窗体,在窗体添加一个按钮Button,Frame的布局为流式布局,在构造函数中对Frame进行初始化,通过初始化函数init()封装实现。

要求:

(1)按下键盘上的键时,得到键盘字母和键盘码。

思考:对于一个字母的键和多个字母的键分别怎么处理。例如:A和SHIFT

(2)实现键盘对按钮的控制。就像登陆界面一下,按ENTER实现登陆。

思考:

(1)按钮活动事件与按钮活动事件的区别?

按钮活动包括单机、双击、进入、离开等等,是更大的范围。平时开发时优先选择addActionListener。

(2)如何知道一个事件监听有无适配器?

一般一个组件包括3个方法及3个以上方法时有适配器,方便特定事件处理,创建事件对象。

import java.awt.*;
import java.awt.event.*;

//按钮活动事件与按钮活动事件的区别?优先选择addActionListener

class MouseAndKeyEvent
{
//定义该图形所带的组建的引用
private Frame f;
private Button btn;

MouseAndKeyEvent()
{
init();
}

public void init()
{
f=new Frame("My frame");

//对frame进行基本设置
f.setBounds(300,100,600,500);
f.setLayout(new FlowLayout());

btn=new Button("my button");

//加载一下窗体事件
myEvent();

//将组件添加到窗体中
f.add(btn);

//显示窗体
f.setVisible(true);

}

private void myEvent()
{
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});

//给btn添加一个键盘监听
btn.addKeyListener(new KeyAdapter()
{
//*****建议对于不同种类型分条演示*******
public void keyPressed(KeyEvent e)
{
//得到键盘字母 和键盘码
System.out.println(e.getKeyChar()+"...."+e.getKeyCode());

//获得按下去键的字符串
System.out.println(KeyEvent.getKeyText(e.getKeyChar())+"...."+e.getKeyCode());

//按ESC使程序退出
if (e.getKeyCode()==KeyEvent.VK_ESCAPE)
{
System.exit(0);
}

//组合键练习--按住Ctrl+ENTER
if (e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
System.out.println("ctrl+enter is run");

}
});

/*

//按钮活动监听
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("action ok");
}
});

//当鼠标进入按钮区域触发该事件
btn.addMouseListener(new MouseAdapter()
{
private int count=1;

//鼠标进入时触发
public void mouseEntered(MouseEvent e)
{
System.out.println("鼠标进入"+count+++"次");
}

//点击时触发
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount()==2)
System.out.println("鼠标双击"+count+++"次");
}
});
*/

}

public static void main(String[] args)
{
new MouseAndKeyEvent();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐