鼠标事件&键盘事件

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");


//对frame进行基本设置。此位置大小二合一方法
f.setBounds(300,100,600,500);
//布局管理
f.setLayout(new FlowLayout());


tf = new TextField(20);


but = new Button("my button");




//将文本框添加到Frame中
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);
}
});
//添加键盘监听
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 注册添加一个键盘监听。
but.addKeyListener(new KeyAdapter()
{
//要查看键盘事件对象
public void keyPressed(KeyEvent e)
{
//Ctrl组合键

if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
System.out.println("ctrl+enter is run");


//if(e.getKeyCode()==KeyEvent.VK_ESCAPE) //用常量,不用输==27
//System.exit(0);
//System.out.println(e.getKeyText(e.getKeyCode())+"..."+e.getKeyCode());
}
});


}
/*
按钮支持一个特有监听addActionListener
添加指定的动作侦听器,以接收发自此按钮的动作事件
按钮上加事件尽量加ActionEvent,因为鼠标键盘都能
让按钮活动。



but.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("action ok");
}
});

//鼠标侦听器
but.addMouseListener(new MouseAdapter()
{
private int count = 1;
private int clickCount;
public void mouseEntered(MouseEvent e)
{
System.out.println("鼠标光标进入到该组件"+count++);
}
public void mouseClicked(MouseEvent e)//点击动作比ActionEvent先执行
{
if (e.getClickCount()==2)

System.out.println("双/点击动作"+clickCount++);
}
});
}
*/
public static void main(String[] args) 
{
new MouseAndKeyEvent();
}






}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值