您的位置:首页 > 产品设计 > UI/UE

鼠标和键盘的事件监听

2016-08-04 22:24 429 查看
//鼠标和键盘的事件监听
import java.awt.*
import java.awt.event.*;

class MouseAndKeyEvent
{

private Frame f;//定义该图形中所需的组件的引用
private Button but;//按钮
private TextField tf;//文本框

MouseAndKeyEvent ()//构造方法
{
init();//调用myevent(),初始化方法
}

public void init() //初始化方法init();先不写事件,把事件和图形化组件分离
{
f = new Frame("my frame");

//对frame进行基本设置
f.setBounds(300,100,500, 400) ;//等于2个方法setLocation() + setSize();
//setBounds(int x, int y, int width, int height)
//移动组件并调整其大小。由 x 和 y 指定左上角的新位置,由 width 和 height 指定新的大小。
f.setLayout(new FlowLayout());//布局 (流式)

tf= new TextField(20);
//TextField(int columns) 构造方法
// 构造具有指定列数的新空文本字段。

but = new Button("my button");//参数 (String s)

f.add(tf);//将组件tf添加到frame中
f.add(but);//将组件添加到frame中

myevent();//加载一下窗体上的事件,调用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();
/*
void consume()
使用此事件,以便不会按照默认的方式由产生此事件的源代码来处理此事件。
用于屏蔽按键输入
*/
}
});

but.addKeyListener(new KeyAdapter()//给But添加一个键盘监听
{
public void keyPressed(KeyEvent e)
{
/*
char getKeyChar()
返回与此事件中的键关联的字符。
int getKeyCode()
返回与此事件中的键关联的整数 keyCode。
*/
//System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"...."+e.getKeyCode());
//static String getKeyText(int keyCode) 返回键盘按钮的文本
//返回描述 keyCode 的 String,如 "HOME"、"F1" 或 "A"。
if (e.isControDown() && e.getKeyCode()==KeyEvent.VK_ENTER)//27是escape//KeyEvent.VK_ESCAPE直接返回KeyCode
//System.exit(0);
System.out.println("ctrl+enter is run");
/*判断ctrl是否被按下
boolean isControlDown()
返回 Control 修饰符在此事件上是为 down。
*/
}
});//

// void keyPressed(KeyEvent e)
//按下某个键时调用此方法。

/*
but.addMouseListener(new MouseAdapter()//鼠标监听器(鼠标适配器)
{
private int count = 1;
private int clickcount = 1;

public void mouseEnetered(MouseEvent e)//鼠标进入该组件
{
System.out.println("鼠标进入到该组件"+count++);
}

but.addActionListener(new ActionListener()//活动动作监听,键盘鼠标都能执行
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Action performed");
}
});

public void mouseClicked(MouseEvent e)//鼠标点击
{
if(e.getClickCount()==2)
System.out.println("双击动作"+clickcount++);
}
});
*/

public static void main(String[] args)
{
new MouseAndKeyEvent ();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java gui