/*
*
*/
import java.awt.*;
import java.awt.event.*;
public class MouseAndEvent {
private Frame f;
private Button but;
private TextField tf;
MouseAndEvent()
{
init();
}
//对图形化界面进行初始化。
public void init()
{
f=new Frame("my frame");
//对frame进行基本设置,该方法包含setsize和setlocation.
f.setBounds(200,200,400,300);
f.setLayout(new FlowLayout());
//定义文本框对象,指定列数。
tf=new TextField(10);
but=new Button("my button");
//在显示窗体之前,添加一个文本框。
f.add(tf);
//将组建添加到frame中
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 activity");
}
});
//为按钮添加鼠标事件。
but.addMouseListener(new MouseAdapter() {
//鼠标进入按钮事件
int count=0;
int clikcount=0;
public void mouseEntered(MouseEvent e)
{
System.out.println("鼠标进入该组件"+count++);
}
public void mouseClicked(MouseEvent e)
{
//获取鼠标点击次数,实现双击
if(e.getClickCount()==2)
System.out.println("双击组件"+clikcount++);
}
});
//为but添加键盘事件。
but.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
//KeyCode()打印键名,KeyChar()打印键所对应的码。
//getKsyText根据键码获取键文本(String)。
//KeyEvent是类名。VK_ESCAPE是按键所对应的静态常量。
if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
//System.exit(0);
System.out.println("组合键运行");
//System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"---"+e.getKeyCode());
}
});
//给文本框添加键盘事件
tf.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e)
{
int code=e.getKeyCode();
//如果文本框输入的不是0到9则显示为不合法数据,而且不会出现在文本 框中。
if(!(code>=KeyEvent.VK_0&&code<=KeyEvent.VK_9))
{
System.out.println(code+"---不合法数据");
e.consume();
}
}
});
}
public static void main(String[] args) {
new MouseAndEvent();
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。