using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
publicclass Form1 : Form
{
[DllImport("user32.dll",CharSet=CharSet.Auto,
CallingConvention=CallingConvention.StdCall)]
publicstaticexternvoid mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons,
uint dwExtraInfo);
privateconstint MOUSEEVENTF_LEFTDOWN = 0x02;
privateconstint MOUSEEVENTF_LEFTUP = 0x04;
privateconstint MOUSEEVENTF_RIGHTDOWN = 0x08;
privateconstint MOUSEEVENTF_RIGHTUP = 0x10;
public Form1()
{
}
publicvoid DoMouseClick()
{
//Call the imported function with the cursor's current position
int X = Cursor.Position.X;
int Y = Cursor.Position.Y;
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
}
//...other code needed for the application
}
是调用user32.dll的api,在调用时需要将要模拟点击的位置和左键右键信息传给mouse_event方法。
JS 屏蔽代码大全 1 >屏蔽功能类 1.1 屏蔽键盘所有键 1.2 屏蔽鼠标右键 在body标签里加上oncontextmenu=self.event.returnvalue=false 或者 function nocontextmenu() { if(document.all) { event.cancelBubble=true; event.returnvalue=false; return false; } } 或者
1.3 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格键 1.将彻底屏蔽鼠标右键,无右键菜单 也可以用于网页中Table框架中no |
说明:关于favicon.ico文件的制作。你可以先在FW中做一个图片,属于你自己站点一个小图标。然后在ACD see将文件属性改为*.ico,然后将你做的*.ICO 文件传到你的服务器目录中,然后就可以使用以上代码来实现,当别人登陆你的站点时,地址栏里使用的就是你自定义的图标了。很PP哦。 6.可以在收藏夹中显示出你的图标 在网页的〈head〉〈/head〉间加入以下语句: 〈link rel="shortcuticon" href="http://…/icon.ico"〉 即可。其中 icon.ico 为 16x16 的图标文件, 颜色不要超过 16 色。 说明:制作方法和上面的一样。只是显示的方式不同,这个是在别人收藏你的网页地址时显示的个性图标。也很PP. 7.关闭输入法 说明:这段代码是在表格提交时用到的。也就是在输入数据时不可以使用其他输入法模式。 网页经典代码(二) 8.永远都会带着框架 说明:frames.htm为你的网页,这也是保护页面的一种方法 9.防止被人frame 10.网页将不能被另存为
//可以在eclipse下直接运行的示例程序: package key_robot; import java.awt.*; import java.awt.event.*; import javax.swing.JOptionPane; public class key_robot { public key_robot() { } // 鼠标单击,要双击就连续调用 private static void pressMouse(Robot r, int m, int delay) { r.mousePress(m); r.delay(10); r.mouseRelease(m); r.delay(delay); } // 键盘输入方法 private static void pressKeys(Robot r, int[] ks, int delay) { for (int i = 0; i < ks.length; i++) { r.keyPress(ks[i]); r.delay(10); r.keyRelease(ks[i]); r.delay(delay); } } public static void main(String[] args) throws Exception { final Robot rb = new Robot(); new Thread() { public void run() { rb.delay(2000); // 模拟回车 rb.keyPress(KeyEvent.VK_ENTER); rb.keyRelease(KeyEvent.VK_ENTER); } }.start();
事件解说 一般事件 onclick 鼠标点击时触发此事件ondblclick 鼠标双击时触发此事件onmousedown 按下鼠标时触发此事件onmouseup 鼠标按下后松开鼠标时触发此事件onmouseover 当鼠标移动到某对象范围的上方时触发此事 件 onmousemove 鼠标移动时触发此事件onmouseout 当鼠标离开某对象范围时触发此事件onkeypress 当键盘上的某个键被按下并且释放时触发此 事件. onkeydown 当键盘上某个按键被按下时触发此事件onkeyup 当键盘上某个按键被按放开时触发此事件 页面相关事件 onabort 图片在下载时被用户中断onbeforeunload 当前页面的内容将要被改变时触发此事件onerror 出现错误时触发此事件 onload 页面内容完成时触发此事件 onmove 浏览器的窗口被移动时触发此事件onresize 当浏览器的窗口大小被改变时触发此事件onscroll 浏览器的滚动条位置发生变化时触发此事件onstop 浏览器的停止按钮被按下时触发此事件或者 正在下载的文件被中断onunload 当前页面将被改变时触发此事件 表单相关事 onblur 当前元素失去焦点时触发此事件onchange 当前元素失去焦点并且元素的内容发生改变 而触发此事件 onfocus 当某个元素获得焦点时触发此事件onreset 当表单中RESET的属性被激发时触发此事件
件onsubmit 一个表单被递交时触发此事件 滚动字幕事件onbounce 在Marquee内的内容移动至Marquee显示 范围之外时触发此事件 onfinish 当Marquee元素完成需要显示的内容后触发 此事件 onstart 当Marquee元素开始显示内容时触发此事件 编辑事件 onbeforecopy 当页面当前的被选择内容将要复制到浏览者 系统的剪贴板前触发此事件onbeforecut 当页面中的一部分或者全部的内容将被移离 当前页面[剪贴]并移动到浏览者的系统剪贴板 时触发此事件onbeforeeditfoc us 当前元素将要进入编辑状态onbeforepaste 内容将要从浏览者的系统剪贴板传送[粘贴]到 页面中时触发此事件onbeforeupdate 当浏览者粘贴系统剪贴板中的内容时通知目 标对象oncontextmenu 当浏览者按下鼠标右键出现菜单时或者通过 键盘的按键触发页面菜单时触发的事件oncopy 当页面当前的被选择内容被复制后触发此事 件 oncut 当页面当前的被选择内容被剪切时触发此事 件 ondrag 当某个对象被拖动时触发此事件[活动事件] ondragdrop 一个外部对象被鼠标拖进当前窗口或者帧ondragend 当鼠标拖动结束时触发此事件,即鼠标的按钮 被释放了 ondragenter 当对象被鼠标拖动的对象进入其容器范围内
android中的MotionEvent 及其它事件处理 2014-09-18 08:47 7386人阅读评论(0) 收藏举报 MotionEvent对象 当用户触摸屏幕时将创建一个MotionEvent对象。MotionEvent包含关于发生触摸的位置和时间等细节信息。MotionEvent对象被传递到程序中合适的方法比如View对象的onTouchEvent()方法中。在这些方法中我们可以分析MotionEvent对象那个,以决定要执行的操作。 MotionEvent对象是与用户触摸相关的时间序列,该序列从用户首次触摸屏幕开始,经历手指在屏幕表面的任何移动,直到手指离开屏幕时结束。手指的初次触摸(ACTION_DOWN 操作),滑动(ACTION_MOVE操作)和抬起(ACTION_UP)都会创建MotionEvent对象。所以每次触摸时候这三个操作是肯定发生的,而在移动过程中会产生大量事件,每个事件都会产生对应的MotionEvent对象记录发生的操作,触摸的位置,使用的多大压力,触摸的面积,合适发生,以及最初的ACTION_DOWN和时发生等相关的信息。 在设置事件时我们有2种设置的方式,一种是委托式一种是回调式。第一种就是将事件的处理委托给监听器处理,你可以定义一个View.OnTouchListener接口的子类作为监听器,其中有onTouch()方法。而第二种是重写View类自己本身的onTouchEvent方法,也就是控件自己处理事件。onTouch方法接收一个MotionEvent参数和一个View参数,而onTouchEvent方法仅接收MotionEvent参数。这是因为监听器可以监听多个View 控件的事件。通过MotionEvent方法getation可以得到该Motionevent具体是哪个操作如ACTION_DOWN。 1、MotionEvent中getAction()与getActionMasked()的区别 如果我们在监听Ontouch()里面测试的时候会发现,这两个返回值竟然是一样的。查询API 我们发现ACTION_MASK说明是:Constant Value: 255 (0x000000ff)。也就是哦0Xff. public final intgetAction () Return the kind of action being performed. Consider using getActionMasked() and getActionIndex() to retrieve the separate masked action and pointer index. 翻译意思大概是返回action的类型,考虑使用getActionMasked()和getActionIndex()来获得单独的经过掩码的action和触控点的索引. public final intgetActionMasked () Return the masked action being performed, without pointer index information. Use getActionIndex() to return the index associated with pointer actions.
本文将总结Selenium WebDriver 中的一些鼠标和键盘事件的使用,以及组合键的使用,并且将介绍WebDriver 中没有实现的键盘事件(Keys 枚举中没有列举的按键)的扩展。举例说明扩展Alt+PrtSc 组合键来截取当前活动窗口并将剪切板图像保存到文件。 在使用Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为。比如使用鼠标单击、双击、右击、拖拽等动作;或者键盘输入、快捷键使用、组合键使用等模拟键盘的操作。在WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是Actions 类,在使用该类的过程中会配合使用到Keys 枚举以及Mouse、Keyboard、CompositeAction 等类。 其次,在实际测试过程中,可能会遇到某些按键没办法使用Actions、Keys 等类来实现的情况。比如通过使用Alt+PrtSc 组合键来实现截取屏幕当前活动窗口的图像,在Keys 枚举中,因为没有枚举出PrtSc 键,所以没办法通过Action 的KeyDown(Keys) 来模拟按下这个动作。 再次是在自动化测试中,可能会遇到一些附件、文件上传的场景,或者是多文件上传,这些在Selenium2.0 之后,可以直接使用WebElement 类的sendKeys() 方法来实现。 下面就分别介绍这些情况的具体使用。 鼠标点击操作 鼠标点击事件有以下几种类型: 清单1. 鼠标左键点击 Actions action = new Actions(driver);action.click();// 鼠标左键在当前停留的位置做单击操作 action.click(driver.findElement(https://www.wendangku.net/doc/3314859207.html,(element)))// 鼠标左键点击指定的元素 清单2. 鼠标右键点击 Actions action = new Actions(driver); action.contextClick();// 鼠标右键在当前停留的位置做单击操作 action.contextClick(driver.findElement(https://www.wendangku.net/doc/3314859207.html,(element)))// 鼠标右键点击指定的元素 清单3. 鼠标双击操作 Actions action = new Actions(driver); action.doubleClick();// 鼠标在当前停留的位置做双击操作
第一章使用说明 1.1 功能简介 本例程是用实验板来模拟鼠标或键盘,即将相关程序下载到单片机,并将学习板与电脑通过U口连接后,本学习板可以当作U口的鼠标或者键盘来用。 其中能够模拟实现的鼠标功能为:鼠标左移、右移、上移、下移,鼠标左键按下和右键按下。 能够模拟实现的键盘功能为:数字1和2的键入、SHIFT和ALT功能键的键入、大小写切换和小键盘数字键功能的键入。 本例程共用到学习板上的六个按键,位于矩阵键盘左上角的S6、S7、S10、S11、S14和S15。 1.2鼠标的信息说明 将UsbMouse.hex文件下载到单片机中,且之后保证USB1口(位于学习板左上方)与电脑的U口处于连接状态(USB1口即为TX-1C开发板的U口)。 稍等片刻,便会先后在电脑屏幕的右下角出现下面两个提示(此提示只在第一次安装时出现): 图1.1 系统发现新硬件提示 图1.2安装成功提示 右键单击“我的电脑”,选中“管理”项,点击并进入,在其左侧的项目栏里点击“设备管理器”,便会发现其中多了如下一个设备,也就是我们的TX-1C开发板所模拟的鼠标,如图1.3所示。
图1.3 设备描述显示 双击“USB人体学输入设备”,会弹出如图1.4和图1.5的属性描述 图1.4 属性描述---常规选项卡
图1.5 属性描述---详细信息选项卡 1.3 鼠标的使用说明 在使用USB模拟鼠标与键盘功能之前,请确保将芯片PDIUSBD12左侧的两根插针用跳帽连接起来(这两根跳帽是用于芯片PDIUSBD12向单片机发出中断的连接线)!!! 总共使用到的矩阵键盘中的六个按键的功能分别如表1.1所示 据此, 面上实验一下,体会自制鼠标的乐趣。 1.4 键盘的相关说明 将文件夹“键盘实例”中的UsbKeyboard.hex文件下载到单片机中,并通过USB 线将TX-1C学习板与电脑U口连接后,同样会出现如图1.1.、图1.2类似的安装信息(也是在第一次安装时提示,以后都不再提示,除非更改程序中的相关设备描述信息,让电脑以为是一个以前从未连接过的设备连接了。)同样的打开设备管理器,也可以找到如图1.3、图1.4、图1.5类似的信息。在此就不再赘述了。下面列出相关按键的功能,如表1.2所示。
onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDblClick IE4|N4|O 鼠标双击事件 onMouseDown IE4|N4|O 鼠标上的按钮被按下了 onMouseUp IE4|N4|O 鼠标按下后,松开时激发的事件 onMouseOver IE3|N2|O3 当鼠标移动到某对象范围的上方时触发的事件onMouseMove IE4|N4|O 鼠标移动时触发的事件 onMouseOut IE4|N3|O3 当鼠标离开某对象范围时触发的事件 onKeyPress IE4|N4|O 当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象] onKeyDown IE4|N4|O 当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象] onKeyUp IE4|N4|O 当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象] 页面相关事件事件浏览器支持描述 onAbort IE4|N3|O 图片在下载时被用户中断 onBeforeUnload IE4|N|O 当前页面的内容将要被改变时触发的事件 onError IE4|N3|O 捕抓当前页面因为某种原因而出现的错误,如脚本错误与外部数据引用的错误 onLoad IE3|N2|O3 页面内空完成传送到浏览器时触发的事件,包括外部文件引入完成onMove IE|N4|O 浏览器的窗口被移动时触发的事件 onResize IE4|N4|O 当浏览器的窗口大小被改变时触发的事件 onScroll IE4|N|O 浏览器的滚动条位置发生变化时触发的事件 onStop IE5|N|O 浏览器的停止按钮被按下时触发的事件或者正在下载的文件被中断onUnload IE3|N2|O3 当前页面将被改变时触发的事件 表单相关事件事件浏览器支持描述 onBlur IE3|N2|O3 当前元素失去焦点时触发的事件[鼠标与键盘的触发均可] onChange IE3|N2|O3 当前元素失去焦点并且元素的内容发生改变而触发的事件[鼠标与键盘的触发均可] onFocus IE3|N2|O3 当某个元素获得焦点时触发的事件 onReset IE4|N3|O3 当表单中RESET的属性被激发时触发的事件 onSubmit IE3|N2|O3 一个表单被递交时触发的事件 滚动字幕事件事件浏览器支持描述 onBounce IE4|N|O 在Marquee内的内容移动至Marquee显示范围之外时触发的事件onFinish IE4|N|O 当Marquee元素完成需要显示的内容后触发的事件 onStart IE4|N|O 当Marquee元素开始显示内容时触发的事件 编辑事件事件浏览器支持描述 onBeforeCopy IE5|N|O 当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发的事件 onBeforeCut IE5|N|O 当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发的事件
硬件模拟键盘鼠标(键鼠控制器KMC3) 1 概述 键鼠控制器KMC3,是一款通过RS232接口控制,输出标准键盘鼠标信号的设备,即可通过计算机的com口来控制它完成进行模拟硬件键盘鼠标的操作。主要应用场合为:彩票速打、游戏辅助、计算机自动控制、远程控制、多机同步操作等。 2 产品特点 速度快:键盘鼠标信号的模拟,每秒可达100个以上,只要串口能够将指令发送出来,它就能够将指令转换为键盘或者鼠标信号发送出去, 性能稳定:所有元器件均选用工业级器件,可保证长期稳定运行,决无误码与丢码现象。 兼容性好:输入端为标准RS232接口,可直接与计算机的com口连接;输出端为PS2接口,可直接连计算机的PS2键盘、鼠标接口,亦可通过转接线 转为usb接口。 控制简单:串口控制,指令协议简单,发送指令无需考虑时间间隔,连续发送即可;无需握手信号验证,只要串口能发送出去,就能保证转换成功。 与手工操作键盘鼠标完全相同:该设备完全模拟手工操作键盘鼠标的特点,通过com口控制指令转发出来的键盘鼠标信号与普通手工操作键盘鼠标没 有任何区别。 3 工作原理 键鼠控制器KMC3内嵌单片机,通过单片机完成RS232串口信号到键盘鼠标信号的转换过程;控制指令部分,键盘的指令根据手工操作特性,分为键盘的通码、断码两种,鼠标的指令部分根据手工操作鼠标的特点分为按键、移动等几个指令了;输出的键盘鼠标信号部分,是单片机软件模拟的符合PS2协议的信号,实际输出到计算机之后,其效果与硬件键盘、鼠标效果完全相同,同时该设备能够模拟键盘鼠标对计算机发出的各种控制指令进行响应;如果直接将设备连接到计算机的ps2接口,则计算机会默认该设备为普通的键盘鼠标设备,而无需
J S鼠标事件大全 o n M o u s e O v e r I E3|N2|O3当鼠标移动到某对象范围的上方时触发的事件 o n M o u s e M o v e I E4|N4|O鼠标移动时触发的事件 o n M o u s e O u t I E4|N3|O3当鼠标离开某对象范围时触发的事件 o n K e y P r e s s I E4|N4|O当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象] o n K e y D o w n I E4|N4|O当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象] o n K e y U p I E4|N4|O当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象] 页面相关事件 事件 浏览器支持 描述 o n A b o r t I E4|N3|O图片在下载时被用户中断 o n B e f o r e U n l o a d I E4|N|O当前页面的内容将要被改变时触发的事件 o n E r r o r I E4|N3|O捕抓当前页面因为某种原因而出现的错误,如脚本错误与外部数据引用的错误 o n L o a d I E3|N2|O3页面内空完成传送到浏览器时触发的事件,包括外部文件引入完成 o n M o v e I E|N4|O浏览器的窗口被移动时触发的事件 o n R e s i z e I E4|N4|O当浏览器的窗口大小被改变时触发的事件 o n S c r o l l I E4|N|O浏览器的滚动条位置发生变化时触发的事件 o n S t o p I E5|N|O浏览器的停止按钮被按下时触发的事件或者正在下载的文件被中断 o n U n l o a d I E3|N2|O3当前页面将被改变时触发的事件 表单相关事件 事件 浏览器支持 描述 o n B l u r I E3|N2|O3当前元素失去焦点时触发的事件 [鼠标与键盘的触发均可] o n C h a n g e I E3|N2|O3当前元素失去焦点并且元素的内容发生改变而触发的事件 [鼠标与键盘的触发均可] o n F o c u s I E3|N2|O3当某个元素获得焦点时触发的事件 o n R e s e t I E4|N3|O3当表单中R E S E T的属性被激发时触发的事件 o n S u b m i t I E3|N2|O3一个表单被递交时触发的事件 滚动字幕事件 事件 浏览器支持 描述 o n B o u n c e I E4|N|O在M a r q u e e内的内容移动至M a r q u e e显示范围之外时触发的事件 o n F i n i s h I E4|N|O当M a r q u e e元素完成需要显示的内容后触发的事件 o n S t a r t I E4|N|O当M a r q u e e元素开始显示内容时触发的事件 编辑事件 事件 浏览器支持 描述 o n B e f o r e C o p y I E5|N|O当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发的事件 o n B e f o r e C u t I E5|N|O当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发的事件 o n B e f o r e E d i t F o c u s I E5|N|O当前元素将要进入编辑状态 o n B e f o r e P a s t e I E5|N|O内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发的事件 o n B e f o r e U p d a t e I E5|N|O当浏览者粘贴系统剪贴板中的内容时通知目标对象 o n C o n t e x t M e n u I E5|N|O当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件 [试试在页面中的中加入o n C o n t e n t M e n u="r e t u r n f a l s e"就可禁止使用鼠标右键了]
vc模拟键盘输入 keybd_event(VK_LWIN, 0, 0 ,0); keybd_event('M', 0, 0 ,0); keybd_event('M', 0, KEYEVENTF_KEYUP ,0); keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP,0); 方法1: HWND hwnd=::FindWindow(0, "文档1"); //假设你要找的窗口标题为“文档1”CWnd::FromHandle(hwnd)->SetForegroundWindow(); ::PostMessage(hwnd, WM_KEYDOWN, VK_ESCAPE, 0L); //发送ESC按下的键盘消息 方法2:这里以向记事本程序发送Ctrl+s按键消息为例: CWnd *pWnd = FindWindow("Notepad", NULL); if (pWnd->GetSafeHwnd()) { pWnd->ShowWindow(SW_NORMAL); pWnd->SetForegroundWindow(); keybd_event(VK_CONTROL, 0, 0, 0); keybd_event('S', 0, 0, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); keybd_event('S', 0, KEYEVENTF_KEYUP, 0); } 对于其他程序,关键就是要找到就收消息的窗口句柄。 ::mouse_event(1) 模拟鼠标动作API函数mouse_event,它可以实现模拟鼠标按下和放开等动作。 VOID mouse_event( DWORD dwFlags, // 鼠标动作标识。 DWORD dx, // 鼠标水平方向位置。 DWORD dy, // 鼠标垂直方向位置。 DWORD dwData, // 鼠标轮子转动的数量。 DWORD dwExtraInfo // 一个关联鼠标动作辅加信息。 ); 其中,dwFlags表示了各种各样的鼠标动作和点击活动,它的常用取值如下:MOUSEEVENTF_MOVE 表示模拟鼠标移动事件; MOUSEEVENTF_LEFTDOWN 表示模拟按下鼠标左键; MOUSEEVENTF_LEFTUP 表示模拟放开鼠标左键; MOUSEEVENTF_RIGHTDOWN 表示模拟按下鼠标右键; MOUSEEVENTF_RIGHTUP 表示模拟放开鼠标右键; MOUSEEVENTF_MIDDLEDOWN 表示模拟按下鼠标中键;
js获取鼠标点击位置 js获取鼠标点击的位置常用的是event.clientX和event.clientY分别获取横向的和纵向的位置,但仅使用这个方法是不够的,因为 event.clientX和event.clientY获取的鼠标位置是相对于当前屏幕的,而不考虑页面的滚动条所滚动的距离。对于这种情况可以使用以下方法(C来的-_-!): 1. function pointerX() 2. { 3. return event.pageX || (event.clientX + (document.documentElement.scrollLe ft || document.body.scrollLeft)); 4. } 5. 6. function pointerY() 7. { 8. return event.pageY || (event.clientY + (document.documentElement.scrollTop | | document.body.scrollTop)); 9. } 两个方法分别获得相对整个页面(而不是屏幕)的鼠标位置 event.pageX是在FF中所支持的,这样就实现了跨浏览器操作 只需在其他方法中调用这两个函数就可 1. function getPointPosition() 2. { 3. var x_px_scr = event.clientX; 4. var y_px_scr = event.clientY; 5. alert("相对于当前屏幕的X轴偏移量" + x_px_scr); 6. alert("相对于当前屏幕的Y轴偏移量" + y_px_scr); 7. 8. var x_Px_page = pointerX(); 9. var y_Px_page = pointerY(); 10. alert("相对于整个页面的X轴偏移量" + x_Px_page); 11. alert("相对于整个页面的Y轴偏移量" + y_Px_page); 12. }
1、Dialog类 Dialog(Frame f,String s) 构造对话框,初始不可见,s是标题,f是对话框所依赖的窗口Dialog(Frame f,String s,boolean b) b设置初始是否可见 getTitle() 获取对话框标题 setTitle(String s) 设置对话框标题 setModal(boolean b) 设置对话框模式 setSize(int w,int h) 设置对话框大小 setVisible(boolean b) 显示或隐藏对话框 2、FileDialog类 Filedialog(Frame f,String s,int mode) mode的值是fileDialog.LOAD或者fileDialog.SAVE public String getDirectory() 获取当前文件对话框中显示的文件所属目录 public String getFile() 获取当前文件对话框中文件的字符串表示,不存在返回null Java中的鼠标和键盘事件 1、使用MouseListener借口处理鼠标事件 鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出 鼠标事件类型是MouseEvent,主要方法有: getX(),getY() 获取鼠标位置 getModifiers() 获取鼠标左键或者右键 getClickCount() 获取鼠标被点击的次数 getSource() 获取鼠标发生的事件源 事件源获得监视器的方法是addMouseListener(),移去监视器的方法是removeMouseListener() 处理事件源发生的时间的事件的接口是MouseListener 接口中有如下的方法mousePressed(MouseEvent) 负责处理鼠标按下事件 mouseReleased(MouseEvent) 负责处理鼠标释放事件 mouseEntered(MouseEvent) 负责处理鼠标进入容器事件 mouseExited(MouseEvent) 负责处理鼠标离开事件 mouseClicked(MouseEvent) 负责处理点击事件 2、使用MouseMotionListener接口处理鼠标事件 事件源发生的鼠标事件有2种:拖动鼠标和鼠标移动 鼠标事件的类型是MouseEvent 事件源获得监视器的方法是addMouseMotionListener() 处理事件源发生的事件的接口是MouseMotionListener 接口中有如下的方法mouseDragged() 负责处理鼠标拖动事件 mouseMoved() 负责处理鼠标移动事件 3、控制鼠标的指针形状 setCursor(Cursor.getPreddfinedCursor(Cursor.鼠标形状定义)) 鼠标形状定义见(书P 210)4、键盘事件 键盘事件源使用addKeyListener 方法获得监视器 键盘事件的接口是KeyListener 接口中有3个方法 public void keyPressed(KeyEvent e) 按下键盘按键 public void keyReleased(KeyEvent e) 释放键盘按键 public void keyTypde(KeyEvent e) 按下又释放键盘按键