//仅作为学习笔记
//GUI 鼠标事件 和 键盘事件
import java.awt.*;
import java.awt.event.*;
class MouseAndKeyEvent
{
private Frame f;
private Button but;
private TextField tf;
MouseAndKeyEvent()
{
init();
}
public void init()
{
f = new Frame("my frame");
f.setBounds(300,100,600,500);
f.setLayout(new FlowLayout());
tf = new TextField(20);//这里指定文本框的列数为20
but = new Button("my button");
f.add(tf);
f.add(but);
myEvent();
f.setVisible(true);
}
private void myEvent()
{
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//按钮活动监听
but.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("action ok");
}
});
but.addMouseListener(new MouseAdapter()
{
private int count = 1 ,clickCount = 1;
public void mouseEntered(MouseEvent e)//鼠标进入 激发事件
{
System.out.println("mouse enter" + count++);
}
public void mouseClicked(MouseEvent e)//鼠标点击事件
{
if(e.getClickCount() == 2)//判断是否为双击
System.out.println("mouse click" +clickCount++);
}
});
tf.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
int code = e.getKeyCode();
if(!(code>= KeyEvent.VK_0 && code <= KeyEvent.VK_9))//设置只能输入数字
{
System.out.println(code + "`....是非法的");
e.consume();//用来屏蔽键
}
}
});
//给 按钮添加键盘监听
but.addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
//if(e.getKeyCode() == 27)
//if(e.getKeyCode() == KeyEvent.VK_ESCAPE)
// System.exit(0);
if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER)//可以用于组合键
System.out.println("ctrl + enter is run");
//System.out.println(KeyEvent.getKeyText(e.getKeyCode())+" "+e.getKeyCode());
}
});
}
public static void main(String []args)
{
new MouseAndKeyEvent();
}
}