java GUI(鼠标键盘事件)

/*
 * 
 */
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();
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值