java 选项事件
- 格式:doc
- 大小:316.00 KB
- 文档页数:3
Java标签、按钮和按钮事件简介Java标签、按钮和按钮事件简介标签和按钮也许是图形界面中最常见的两种组件,按钮又总是与激发动作事件有关。
标签标签(JLabel)是最简单的Swing组件。
标签对象的作用是对位于其后的界面组件作说明。
可以设置标签的属性,即前景色,背景色、字体等,但不能动态地编辑标签中的文本。
程序关于标签的基本内容有以下几个方面:1.声明一个标签名;2.创建一个标签对象;3.将标签对象加入到某个容器。
JLabel类的主要构造方法是:1.JLabel ():构造一个无显示文字的标签;2.JLabel (String s):构造一个显示文字为s的标签;3.JLabel(String s, int align):构造一个显示文字为s的标签。
align为显示文字的水平方式,对齐方式有三种:左对齐:JLabel.LEFT中心对齐:JLabel.CENTER右对齐:JLabel.RIGHTJLabel类的其他常用方法是:1.setText(String s):设置标签显示文字;2.getText():获取标签显示文字;3.setBackground(Color c):设置标签的背景颜色,默认背景颜色是容器的背景颜色;4.setForeground(Color c):设置标签上的文字的颜色,默认颜色是黑色。
按钮按钮(JButton)在界面设计中用于激发动作事件。
按钮可显示文本,当按钮被激活时,能激发动作事件。
JButton常用构造方法有:1.JButton():创建一个没有标题的按钮对象;2.JButton(String s):创建一个标题为s的按钮对象。
JButton类的其他常用方法有:1.setLabel(String s):设置按钮的标题文字。
2.getLabel():获取按钮的标题文字。
3.setMnemonic(char mnemonic):设置热键4.setToolTipText(String s):设置提示文字。
JAVA常用方法事件大全JAVA是一种面向对象的编程语言,它提供了众多常用方法和事件来满足程序开发的需求。
下面是JAVA常用方法和事件的详细介绍:1. equals(Object obj)方法:用于比较两个对象是否相等。
默认情况下,它比较的是两个对象的引用是否相等,可以根据需要重写该方法,来比较对象的内容是否相等。
2. hashCode(方法:返回对象的哈希码值。
哈希码是一个整数值,用于快速确定对象在哈希表中的位置。
3. toString(方法:返回对象的字符串表示。
默认情况下,它返回的是对象的类名和对象的哈希码值。
4. getClass(方法:返回对象的运行时类。
运行时类是指对象所属的实际类,而不是对象的引用类型。
5. clone(方法:用于创建并返回对象的副本。
该方法是浅拷贝,即只复制对象的引用,而不复制对象本身。
6. finalize(方法:用于在对象被垃圾回收器回收之前执行一些清理工作。
该方法在对象被销毁之前调用。
7. wait(方法:使线程进入等待状态,直到另一个线程通知它被唤醒。
该方法用于线程之间的通信。
8. notify(和notifyAll(方法:用于唤醒一个或多个正在等待的线程。
这些线程在调用wait(方法后被阻塞。
9. get(和set(方法:用于访问对象的属性。
get(方法用于获取属性的值,set(方法用于设置属性的值。
10. Math类:提供了一些常用的数学方法,如绝对值、四舍五入、最大值、最小值等。
11. String类:提供了一系列字符串操作的方法,如连接字符串、查找子串、替换字符等。
12. StringBuffer和StringBuilder类:用于处理可变的字符串。
它们提供了一些方法进行字符串的添加、删除、插入和替换。
13. ArrayList类:动态数组,可以存储任意类型的对象。
它提供了一些方法进行元素的增加、删除、修改和查询。
14. HashMap类:哈希表,用于存储键值对。
一、介绍Java中TextField控件在Java编程中,TextField是一个常用的用户界面控件,用于接收用户输入的文本数据。
它通常用于表单、登录页面、搜索框等场景中,是与用户进行交互的重要组成部分。
二、TextField中清空内容的方法在实际的开发中,经常会遇到需要清空TextField中内容的情况,下面将介绍几种常用的方法。
1. 使用setText方法通过调用TextField的setText方法,可以将其内容设置为空字符串,从而实现清空的效果。
示例代码如下:```javatextField.setText("");```这样就可以清空textField中的内容。
2. 监听键盘事件另一种常见的做法是通过监听键盘事件,在用户按下特定键(如Delete键)时清空TextField中的内容。
示例代码如下:```javatextField.addKeyListener(new KeyAdapter() {Overridepublic void keyPressed(KeyEvent e) {if (e.getKeyCode() == KeyEvent.VK_DELETE) {textField.setText("");}}});```这样,当用户按下Delete键时,TextField中的内容就会被清空。
3. 使用DocumentListener还可以通过监听Document的变化,在用户输入内容后立即清空TextField中的内容。
示例代码如下:```javatextField.getDocument().addDocumentListener(new DocumentListener() {Overridepublic void removeUpdate(DocumentEvent e) {textField.setText("");}Overridepublic void insertUpdate(DocumentEvent e) {textField.setText("");}Overridepublic void changedUpdate(DocumentEvent e) {textField.setText("");}});```这样,无论用户是删除已有内容还是输入新内容,TextField中的内容都会被立即清空。
在Java1.0中,已经有一个用于GUI编程的类库AWT(Abstract Window Toolkit),称之为抽象窗口工具箱。
遗憾的是,AWT中的组件(例如按钮,类名为Button)在实现中使用了本地代码(Native Code),这些组件的创建和行为是由应用程序所在平台上的本地GUI工具来处理的。
因此,AWT组件要在不同的平台上提供给用户一致的行为就受到了很大的限制。
同时,AWT组件中还存在很多bug,这就使得使用AWT来开发跨平台的GUI应用程序困难重重。
1996年,SUN公司和Netsacpe公司在一个称为Swing的项目中合作完善了Netsacpe公司原来开发的一套GUI库,也就是现在所谓的Swing组件。
Swing组件和原来的AWT组件完全不同,最大的区别就是Swing组件的实现中没有使用本地代码,这样对底层平台的依赖型就大为降低,并且可以给不同平台的用户一致的感觉。
此外,和原来的AWT相比,Swing 中提供了内容更多、使用更为方便的组件。
在阅读一些书籍时,常会遇到名词JFC(Java Foundation Class)。
JFC的概念是在1997年的JavaOne开发者大会上首次提出的,是指用于构建GUI的一组API。
实际上,Swing只是JFC的一部分,其它的还有二维图形(Java 2D)API以及拖放(Drag and Drop)API等等。
Swing并不是完全取代了AWT,Swing只是使用更好的GUI组件(如JButton)代替AWT 中相应的GUI组件(如Button),并且增加了一些AWT中原来所没有的GUI组件。
并且,Swing 仍使用AWT 1.1的事件处理模型。
虽然现在AWT组件仍得到支持,但是建议在你的应用程序中尽量使用Swing组件和1.1的事件模型。
1.标签(JLabel)标签(JLabel)通常是用来标识另外一个组件的含义。
以在标签上显示文字、图象或是文字图象的组合。
Java常用方法大全字符串1、获取字符串的长度length()2 、判断字符串的前缀或后缀与已知字符串是否相同前缀startsWith(String s)后缀endsWith(String s)3、比较两个字符串equals(String s)4、把字符串转化为相应的数值int型Integer.parseInt(字符串)long型Long.parseLong(字符串)float型Folat.valueOf(字符串).floatValue()double型Double.valueOf(字符串).doubleValue()4、将数值转化为字符串valueOf(数值)5、字符串检索indexOf(Srting s) 从头开始检索indexOf(String s ,int startpoint) 从startpoint处开始检索如果没有检索到,将返回-16、得到字符串的子字符串substring(int startpoint) 从startpoint处开始获取substring(int start,int end) 从start到end中间的字符7、替换字符串中的字符,去掉字符串前后空格replace(char old,char new) 用new替换oldtrim()8、分析字符串StringTokenizer(String s) 构造一个分析器,使用默认分隔字符(空格,换行,回车,Tab,进纸符)StringTokenizer(String s,String delim) delim是自己定义的分隔符nextToken() 逐个获取字符串中的语言符号boolean hasMoreTokens() 只要字符串还有语言符号将返回true,否则返回false countTokens() 得到一共有多少个语言符号文本框和文本区1、文本框TextField() 构造文本框,一个字符长TextField(int x) 构造文本框,x个字符长TextField(String s) 构造文本框,显示ssetText(String s) 设置文本为sgetText() 获取文本setEchoChar(char c) 设置显示字符为csetEditable(boolean) 设置文本框是否可以被修改addActionListener() 添加监视器removeActionListener() 移去监视器2、文本区TextArea() 构造文本区TextArea(String s) 构造文本区,显示sTextArea(String s,int x,int y) 构造文本区,x行,y列,显示s TextArea(int x,int y) 构造文本区,x行,y列TextArea(String s,int x,ing y,int scrollbar)scrollbar的值是:TextArea.SCROLLBARS_BOTHTextArea.SCROLLBARS_VERTICAL_ONL YTextArea.SCROLLBARS_HORIZONTAL_ONL Y TextArea.SCROLLBARS_NONEsetText(String s) 设置文本为sgetText() 获取文本addTextListener() 添加监视器removeTextListener() 移去监视器insert(String s,int x) 在x处插入文本sreplaceRange(String s,int x,int y) 用s替换从x到y处的文本append(String s) 在文本的最后追加文本sInt getCaretPosition(int n) 获取文本区中光标的位置按钮1、按钮Button() 构造按钮Button(String s) 构造按钮,标签是ssetLabel(String s) 设置按钮标签是sgetLabel() 获取按钮标签addActionListener() 添加监视器removeActionListener() 移去监视器标签1、标签Label() 构造标签Label(String s) 构造标签,显示sLabel(String s,int x)x是对齐方式,取值:Label.LEFTLabel.RIGHTLabel.CENTERsetText(String s) 设置文本sgetText() 获取文本setBackground(Color c) 设置标签背景颜色setForeground(Color c) 设置字体颜色选择框1、选择框Checkbox() 构造选择框Checkbox(String s) 构造选择框,给定标题sCheckbox(String s,boolean b) b设定初始状态Checkbox(String s,boolean b,CheckboxGroup g) g设定了所属的组(有了组就成为单选框)addItemListener() 添加监视器removeItemListener() 移去监视器getState() 返回选择框的是否选中状态setState(boolean b) 设置选择框的状态getLabel() 获取选择框的标题setLabel(String s) 设置选择框的标题为s选择控件和滚动列表1、选择控件Choice() 构造选择控件add(String s) 向选择控件增加一个选项addItemListener() 添加监视器removeItemListener() 移去监视器getSelectedIndex() 返回当前选项的索引getSelectedItem() 返回当前选项的字符串代表insert(String s,int n) 在n处插入选项sremove(int n)removeAll()2、滚动列表List() 构造滚动列表List(int n) 参数n是可见行数List(int n,boolean b) 参数b是设置是否可以多项选择add(String s) 向列表的结尾增加一个选项add(String s,int n) 在n处增加一个选项AddActionListener() 滚动列表添加监视器addItemListener() 滚动列表上的选项添加监视器remove(int n) 删除n初的选项remnoveAll() 删除全部选项getSelectedIndex() 返回当前选项的索引getSelectedItem() 返回当前选项的字符串代表3、组件类的一些常用方法void setBackground(Color c) 设置组件背景颜色void setForeground(Color c) 设置组件前景颜色void setFonts(Font f) 设置组件字体void setBounds(int x,int y,int w,int h) 设置坐标,x,y表示在容器中坐标,w,h表示宽和高void setLocation(int x,int y) 移动到x,y 处void setSize(int w,int h) 设置宽和高void setVisible(boolean b) 设置组建是否可见int getBounds().wigth 获取宽int getBounds().height 获取高int getBounds().x 获取x 坐标int getBounds().y 获取y 坐标Toolkit getToolkit() 获取工具包对void setEnabled(boolean b) 设置是否可以使用(默认可以)窗口和菜单1、窗口Frame() 构造窗口Frame(String s) 窗口标题是ssetBounds(int x,int y,int w,int h) 窗口位置x,y,宽w,高ysetSize(int w,int h) 设置窗口位置(单位是像素)setBackground(Color c) 设置背景颜色setVisible(boolean b) 设置窗口是否可见pack() 窗口出现时紧凑setTitle(String s) 设置标题为sgetTitle() 获取标题setResizable(boolean b) 设置窗口大小是否可以调整2、菜单条Menubar() 构造菜单条setMenubar() 窗口添加菜单条3、菜单Menu() 构造菜单Menu(String s) 构造菜单,标题saddadd(MenuItem item) 菜单增加菜单选项itemadd(String s) 向菜单增加选项sgetItem(int n) 获取n处的选项getItemCount() 获取选项数目insert(MenuItem item,int n) 在n处插入菜单选项iteminsert(String s,int n) 在n处插入菜单选项remove(int n) 删除菜单的n处的菜单选项removeAll() 删除全部4、菜单项MenuItem() 构造菜单项MenuItem(String s) 构造标题是s的菜单项setEnabled(boolean b) 设置是否可以被选择getLabel() 得到菜单选项名addActionListener() 添加监视器5、有关菜单的技巧addSeparator() 增加菜单分割线CheckboxMenuItem() 复选框菜单项setShortcut(MenuShortcut k) 设置快捷键(k取值KeyEvent.VK_A----KeyEvent.VK_Z)建立对话框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() 获取当前文件对话框中文件的字符串表示,不存在返回nullJava中的鼠标和键盘事件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) 按下又释放键盘按键Java多线程机制1、Java的线程类与Runnable接口Thread类public Thread() 创建线程对象public Thread(Runnable target) target 称为被创建线程的目标对象,负责实现Runnable接口线程优先级Thread类有三个有关线程优先级的静态常量:MIN_PRIORITY,MAX_PRIORITY,NORM_PRIORITY新建线程将继承创建它的副相承的优先级,用户可以调用Thread类的setPriority(int a)来修改a的取值:Thread.MIN_PRIORITY,Thread.MAX_PRIORITY,Thread.NORM_PRIORITY主要方法启动线程start()定义线程操作run()使线程休眠sleep()sleep(int millsecond) 以毫秒为单位的休眠时间sleep(int millsecond,int nanosecond) 以纳秒为单位的休眠时间currentThread() 判断谁在占用CPU的线程第二十章输入输出流1、FileInputStream类FileInputStream(String name) 使用给定的文件名name创建一个FileInputStream对象FileInputStream(File file) 使用File对象创建FileInpuStream对象File类有两个常用方法:File(String s) s确定文件名字File(String directory,String s) directory是文件目录例如:File f=new File("Myfile.dat");FileInputStream istream=new FileInputStream(f);处理I/O异常当出现I/O错误的时候,Java生成一个IOException(I/O异常)对象来表示这个错误的信号。
java 单击事件ActionEvent单击事件是Java GUI中比较常见的事件之一,是高级事件。
单击按钮、单选按钮和菜单项等都会触发相应的ActionEvent事件。
在下拉菜单中,单击某一个菜单项时,会执行相关操作。
其实质上是使用菜单项的单击事件,即ActionEvent事件。
当单击上面菜单项事件源时,会触发Actio nEvent事件,即ActionEvent类创建一个实例化对象。
通过ActionEvent类的getActionCommand()方法,可以获取触发事件的事件源名称。
一个类如果要成为ActionEvent事件的监听器,必须要继承ActionListener接口。
ActionListener接口具有一个名称为actionPerformed(ActionEvent e)的方法。
下面创建一个案例,来说明单击事件的使用。
代码如下所示。
单项itemNative、itemMotif、itemMetal和itemColor。
在下面分别为四个菜单项添加相应的事件,代码“itemNative.addActionListener(new ActionListener(){}”表示为it emNative添加了一个ActionEvent事件的匿名类,在实现的方法actionPerformed()中,设置要实现操作的代码。
其他菜单项依此类推。
执行上述代码,会显示初始化窗口。
单击【窗口风格】菜单,会显示【系统平台风格】、【Motif风格】和【跨平台风格】三个菜单项。
单击【Motif风格】、【系统平台风格】或【跨平台风格】菜单项,会改变窗体的风格,如图10-12所示。
单击【改变颜色】|【选择颜色】菜单项,弹出颜色选择框,选择颜色并单击【确定】按钮,改变窗体的颜色,如图10-13所示。
图10-12 窗口风格图10-13 选择颜色。
java 事件处理模型当用户在Java GUI界面进行一些操作时,例如,移动鼠标、选取菜单项目等,将会引发相关事件(Event)。
在Java中,事件用具体的对象来表示,用户的相关动作会由JVM(Java虚拟机)创建成相应的事件对象,用以描述事件来源、事件类型以及相关的信息。
1.事件处理流程Java对事件的处理采用授权事件模型,也称为委托事件模型(Delegation Even t Model)。
在这个模型下,每个组件都有相应的事件,如按钮具有单击事件,文本域具有内容改变事件等。
当对于某个组件的事件被触发后,组件就会将事件发送给组件上注册的每一个事件监听器(EventListener),事件监听器中定义了与不同事件相对应的事件处理者,此时事件监听器会根据不同的事件信息调用不同的事件处理者,完成对这次事件的处理。
只有向组件注册的事件监听器才会收到事件信息。
此种模型的显著特点是,当组件被触发事件后,本身不去处理,而将处理的操作交给第三方来完成。
例如,当用户在GUI界面单击了一个按钮信息,此时按钮就是一个事件源对象,按钮本身没有权利对这次单击做出反应,需要做的就是将信息发送给本身注册的监听器(事件处理者)来处理。
在现实生活中,授权处理的实例也是非常的多。
打个不太恰当的比喻,比如说有一位李先生,李先生可能会发生很多法律纠纷,可能是民事法律纠纷,也可能是刑事法律纠纷,那么李先生可以请律师,他可以授权王律师负责帮他打民事法律的官司,同时也可以授权张律师帮他打刑事法律的官司。
这个请律师的过程从李先生的角度来看,就是授权的过程,而从王律师和张律师的角度来看,一旦被授权,他们就得时刻对李先生负责,时刻“监听”李先生的事件信息,一旦发生民事纠纷了,王律师就要马上去处理,而一旦发生刑事纠纷了,张律师就要马上进行处理。
此时此刻,李先生就是事件源,王律师是一个事件处理者,张律师是另外一个事件处理者,民事纠纷和刑事纠纷就是不同类型的事件。
java键盘监听事件的用法Java中,键盘监听事件用于捕获并处理用户在键盘上的输入。
键盘监听事件能够感知用户按下和释放特定键的动作,并触发相应的事件处理程序。
本文将逐步介绍Java键盘监听事件的用法,包括如何注册监听器、如何处理事件以及一些常见问题的解决方法。
一、注册键盘监听器要使用键盘监听事件,首先需要注册一个键盘监听器。
在Java中,可以通过以下步骤来注册键盘监听器:1. 创建一个类,实现java.awt.event.KeyListener接口。
javaimport java.awt.event.KeyEvent;import java.awt.event.KeyListener;public class MyKeyListener implements KeyListener {实现接口中的方法@Overridepublic void keyPressed(KeyEvent e) {处理按下键的事件}@Overridepublic void keyReleased(KeyEvent e) {处理释放键的事件}@Overridepublic void keyTyped(KeyEvent e) {处理键入字符的事件}}2. 在需要监听键盘事件的组件(例如窗口或面板)上注册监听器。
javaimport java.awt.*;import javax.swing.*;public class MyFrame extends JFrame {public MyFrame() {创建一个面板JPanel panel = new JPanel();注册键盘监听器panel.addKeyListener(new MyKeyListener());panel.setFocusable(true); 设置面板可以获取焦点panel.requestFocus(); 使面板获取焦点添加面板到窗口add(panel);设置窗口属性setTitle("Keyboard Event Sample");setSize(300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);}public static void main(String[] args) {new MyFrame();}}二、处理键盘事件注册了键盘监听器后,就可以处理键盘事件了。
java 键盘事件
键盘事件是KeyEvent类对象。
通过键盘事件,可以利用按键来控制和执行一些操作或从键盘上进行输入。
键盘事件包括三个事件:键按下、键松开、键按下又松开。
要处理键盘事件必须实现KeyListener接口,该接口中定义了下面三个方法:
●public void keyPressed(KeyEvent e) 当键被按下时调用该方法。
●public void keyReleased(KeyEvent e) 当键被松开时调用该方法。
●public void keyTyped(KeyEvent e) 当键被按下又松开时调用该方法。
每个键盘事件都有一个相关的键字符和键编码,它们可以通过KeyEvent类的getKeyChar()和getKeyCode()方法获得。
事件类KeyEvent常用方法如表10-3所示:
表10-3 KeyEvent类常用方法
另外,在KeyEvent类中为许多键定义了常量,表10-4列出了一些常用的键与其对应的常量。
表10-4 常用键和对应的常量
下面创建一个案例,来说明键盘事件的使用。
代码如下所示。
在上述代码中,当按下Ctrl+x时,会改变按钮大小,如图10-14所示。
当按下Shift+x时,会改变按钮座标,如图10-15所示。
图10-14 按下Ctrl+x键时
图10-15 按下Shift+x键时。
java 弹出菜单事件
在编写图形界面时,人们往往希望直接在窗口上单击鼠标右键,就可以显示弹出菜单。
通过弹出的上下文菜单,直接进行相关操作。
实现弹出菜单,需要通过鼠标事件MouseEvent和单击事件ActionEvent实现。
这两个事件在前面都已经介绍过,这里就不再重复介绍。
弹出菜单操作中,鼠标事件的事件源通常为窗口和文本框组件等,ActionEvent事件的事件源通常为菜单项。
下面创建一个案例,来说明弹出菜单事件的使用。
代码如下所示:
执行上述代码中,当右击鼠标时,会弹出快捷菜单。
选择不同的颜色会修改窗体的背景颜色,如图10-16所示。
图10-16 弹出菜单事件。
鼠标监听器鼠标监听器mouseListener监听鼠标事件MouseEvent。
相应事件和处理方法如下表:鼠标事件处理方法MOUSE_CLICKED MouseClicked (MouseEvent) 鼠标点击(单或双)MOUSE_PRESSED MousePressed (MouseEvent) 鼠标按下MOUSE_RELEASED MouseReleased(MouseEvent) 鼠标松开MOUSE_ENTERED MouseEntered (MouseEvent) 鼠标进入(某组件区域)MOUSE_EXITED MouseExited (MouseEvent) 鼠标离开(某组件区域)鼠标事件MouseEvent常用方法int getClickCount() 得到点击次数1 OR 2;int getX(), int getY() 得到鼠标的(象素)位置。
对于鼠标的移动和拖放,另外用鼠标运动监听器mouseMotionListener。
因为许多程序不需要监听鼠标运动,把两者分开可简化程序。
有两个方法处理鼠标运动事件:MOUSE_MOVED MouseMoved (MouseEvent) 鼠标在移动MOUSE_DRAGGED MouseDragged(MouseEvent) 鼠标被拖动下面的例程演示简单的鼠标监听,并在屏幕上输出鼠标操作的信息。
例2下面是讨论MouseMotionListener的使用时机,它提供的下面的两个方法,可让你随时掌握鼠标的坐标,并处理拖曳鼠标的操作。
MouseMotionListener mouseDragged(MouseEvent e)mouseMoved(MouseEvent e)-----------------------------------------------------------------------下面的范例让你知道鼠标在JFrame上的坐标,并拖曳出直线来。