TrackEvent 鼠标键盘各种事件

package com.wxq.learning;

import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.HashMap;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class TrackEvent extends JFrame
{
	private HashMap<String, JTextField> h = new HashMap<String, JTextField>();
	private String[] event =
	{ "focusGained", "focusLost", "keyPressed", "keyReleased", "keyTyped", "mouseClicked", "mouseEntered", "mouseExited", "mousePressed", "mouseReleased",
			"mouseDragged", "mouseMoved" };
	private MyButton b1 = new MyButton(Color.BLUE, "test1"), b2 = new MyButton(Color.RED, "test2");

	class MyButton extends JButton
	{
		void report(String field, String msg)
		{
			h.get(field).setText(msg);
		}

		FocusListener fl = new FocusListener()
		{

			@Override
			public void focusGained(FocusEvent e)
			{
				report("focusGained", e.toString());
			}

			@Override
			public void focusLost(FocusEvent e)
			{
				report("focusLost", e.toString());
			}

		};
		KeyListener kl = new KeyListener()
		{

			@Override
			public void keyTyped(KeyEvent e)
			{
				report("keyTyped", e.toString());
			}

			@Override
			public void keyPressed(KeyEvent e)
			{
				report("keyPressed", e.toString());
			}

			@Override
			public void keyReleased(KeyEvent e)
			{
				report("keyReleased", e.toString());

			}

		};
		MouseListener ml = new MouseListener()
		{

			@Override
			public void mouseClicked(MouseEvent e)
			{
				report("mouseClicked", e.toString());
			}

			@Override
			public void mousePressed(MouseEvent e)
			{
				report("mousePressed", e.toString());
			}

			@Override
			public void mouseReleased(MouseEvent e)
			{
				report("mouseReleased", e.toString());
			}

			@Override
			public void mouseEntered(MouseEvent e)
			{
				report("mouseEntered", e.toString());
			}

			@Override
			public void mouseExited(MouseEvent e)
			{
				report("mouseExited", e.toString());

			}

		};
		MouseMotionListener mml = new MouseMotionListener()
		{

			@Override
			public void mouseDragged(MouseEvent e)
			{
				report("mouseDragged", e.toString());
			}

			@Override
			public void mouseMoved(MouseEvent e)
			{
				report("mouseMoved", e.toString());
			}

		};

		public MyButton(Color color, String label)
		{
			super(label);
			setBackground(color);
			addFocusListener(fl);
			addKeyListener(kl);
			addMouseListener(ml);
			addMouseMotionListener(mml);
		}
	}

	public TrackEvent()
	{
		setLayout(new GridLayout(event.length + 1, 2));
		for (String e : event)
		{
			JTextField t = new JTextField();
			t.setEditable(false);
			add(new JLabel(e, JLabel.RIGHT));
			add(t);
			h.put(e, t);
		}
		add(b1);
		add(b2);
	}

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
		SwingConsole.run(new TrackEvent(), 500, 400);
	}

}

时间: 2024-08-29 14:30:41

TrackEvent 鼠标键盘各种事件的相关文章

WPF:检测用户在一定时间内没有动作(即没有鼠标键盘的事件)

参考的网址有: http://bbs.csdn.net/topics/100033612 http://blog.csdn.net/dengta_snowwhite/article/details/6154199 详细做法: 1.定义结构体 [StructLayout(LayoutKind.Sequential)]    struct LASTINPUTINFO    {        // 设置结构体块容量        [MarshalAs(UnmanagedType.U4)]       

JS 鼠标键盘HTML事件

Python - selenium_WebDriver 鼠标键盘事件

from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from ReadTxt_demo import readTxt import time #鼠标键盘事件 ''' ActionChains 常用方法 per

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进行基本设置,该

由chrome剪贴板问题研究到了js模拟鼠标键盘事件

写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.clipboardData.getData("Text") 可是在chrome下面就行不通了,chrome下面没有类似ie的这种方法,那应该怎么办呢,百度了一下,发现还真有办法. 只要在HTML界面上放上一个text类型的控件,如下所示 <textarea id="textAre

Linux 模拟 鼠标 键盘 事件

/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: * 以前看到有些软件能够控制鼠标移动,键盘操作等功能,总想知道这些到底 * 是怎么做到的,好像是2年前也尝试去做这件事,但那时候对知识的匮乏直接导致 * 无法进行,早上突然想到这件事,于是又搜索了一下,鉴于目前经常接触Linux * 驱动,对这些东西的理解也就很容易. * * 2016-2-27 深

selenium鼠标键盘事件(转)

概念 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse. Keyboard.CompositeAction 等类. 其次,在实际测试过程中,可能会遇到某些按键没办法使用 Actions.Keys

自动化测试基础篇--Selenium鼠标键盘事件

前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和密码,怎么点击登录按钮,首先我们先回顾一下元素的基本操作. 1.点击(鼠标左键)页面按钮:click() 2.请空输入框:clear() 3.输入字符串:send_keys() 4.提交表单:submit() 今天这篇文章着重讲一下键盘和鼠标的模拟事件. 一.鼠标事件 1.首先模拟鼠标的操作需要先导入鼠标模块: from selenium.webdriver.common.action_chains

几个常用的JS鼠标键盘事件例子

首先普及一下鼠标左右键值的相关方法: 1.event.x 鼠标横轴  2.event.y 鼠标纵轴  3.event.keycode 键盘值  4.events.button==0 默认.没有按任何按钮.  5.events.button==1 鼠标左键  6.events.button==2 鼠标右键  7.events.button==3 鼠标左右键同时按下  8.events.button==4 鼠标中键  9.events.button==5 鼠标左键和中键同时按下  10.events