package gui.awt;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class MouseListener_class {
private Frame f;
private Button b,bb;
private TextField tf;
public MouseListener_class(){
init();
}
public void init(){
f=new Frame("鼠标点击事件");
b=new Button("点击鼠标");
bb=new Button("键盘事件监听");
tf=new TextField(20);
f.add(b);
f.add(tf);
f.add(bb);
f.setLayout(new FlowLayout());
f.setBounds(200,200,400,300);
f.setVisible(true);
event();
}
public void event(){
//对Frame面板添加WindowListener窗口监听
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
//对按钮添加actionListener动作监听,添加动作监听后,选中控件后,可以按键盘空格继续对其操作,但如果该控件同时添加了鼠标监听,鼠标监听先运行
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("动作监听");
}
});
b.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e){
System.out.println("鼠标单击监听");
}
public void mousePressed(MouseEvent e){
System.out.println("鼠标摁下");
}
public void mouseReleased(MouseEvent e){
System.out.println("鼠标抬起");
}
});
//键盘监听事件
bb.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e){
if(e.isControlDown() && (e.getKeyCode()==KeyEvent.VK_ENTER)){//判断摁下组合键,然后再对其操作
System.out.println("运用组合键crtl+enter");
}else if(e.getKeyCode()==KeyEvent.VK_ENTER){//判断摁下的是那个键,然后再对其针对性操作
System.out.println("按下的键为:回车键");
}else{
System.out.println(e.getKeyText(e.getKeyCode())+",,,,"+e.getKeyChar()+",,,,,"+e.getKeyCode());
//获取键盘所摁下的键的名称 获取键的字符 获取键的ASCII码
}
}
});
tf.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e){
if(!(e.getKeyCode()>=KeyEvent.VK_0&&e.getKeyCode()<=KeyEvent.VK_9)){
System.out.println("数字yes:"+e.getKeyCode());
e.consume();//屏蔽键,不会把非法值输入到textfield中
}
//System.out.println(e.getKeyChar());
}
});
}
public static void main(String[] args) {
new MouseListener_class();
}
}
黑马程序员——AWT鼠标键盘事件
最新推荐文章于 2023-01-29 22:28:07 发布