/*
鼠标和键盘事件
鼠标和键盘在 component 中查找
*/
import java.awt.*;
import java.awt.event.*;
class MouseAndKey1
{
private Frame f;
private Button b;
private TextField tf ;//文本框
MouseAndKey1()
{
init();
}
public void init()
{
f=new Frame("my frame");
f.setBounds(200,100,500,400);
f.setLayout(new FlowLayout());
b=new Button("button");
f.add(b);
tf = new TextField();
tf.setColumns(10);//设置文本框的列数
f.add(tf);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//键盘监听按钮
b.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
//System.out.println(e.getKeyChar()+"..."+e.getKeyCode());
System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"..."+e.getKeyCode());
//if(e.getKeyCode()==KeyEvent.VK_ENTER)//按下回车键就退出
// System.exit(0);
if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)//按下ctrl+enter的组合键
System.out.println("ctrl+enter run");
}
});
//键盘监听文本框
tf.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
if(!(e.getKeyCode()>KeyEvent.VK_0&&e.getKeyCode()<KeyEvent.VK_9))
{
System.out.println(e.getKeyCode()+"...是非法的");
e.consume();//不让写进文本框
}
}
});
}
public static void main(String[] args)
{
new MouseAndKey1();
}
}