常见Swing事件处理方法

来源:互联网 发布:nginx mp4 点播服务器 编辑:程序博客网 时间:2024/05/21 06:50
监听器:ActionListener
    法:actionPerformed
    件:ActionEvent
               ●  String 
getActionCommand()
actioncommand是控件内部的一个字符串,用于标识控件的状态。此函数可以取得控件的状态,从而决定到底该做什么。
                 int  getModifiers()
取得“产生此事件时,用户同时按下的组合键”
               ●  long   getWhen()
取得“产生此事件时的时间戳”
事件产生原因:点击按钮,在列表框中选择内容,在文本框中点回车,计时器到期

监听器:AdjustmentListener
    法:adjustmentValueChanged
    件:AdjustmentEvent
               ●  Adjustable
getAdjustable()
adjustable是一个接口,各种滚动条都实现了这个接口。
                 int  getAdjustmentType()
取得滚动类型,共有UNIT_INCREMENT,UNIT_DECREMENT,BLOCK_INCREMENT,BLOCK_DECREMENT,TRACK共5种类型
               ●  int   getValue()
取得滚动滑块的当前值
事件产生原因:滚动条的滚动

监听器:ItemListener
    法:itemStateChanged
    件:ItemEvent
               Objedt 
getItem()
取得被选中的元素。注意,返回值是Object,还应该进行强制类型转换。
                 ItemSelectable  getItemSelectable()
ItemSelectable是一个接口,代表那些包含了n个可供选择的子元素的对象。此方法返回产生此事件的对象。此方法的作用主要在于,如果一个列表框是允许多选的,那么上面的方法就不好用了,应该用此方法得到列表对象,再取得被选中的多个元素。
               ●  int   getStateChange()
取得选择的状态,是SELECTED还是DESELECTED
事件产生原因:各种按钮的点击,列表框的选择

监听器:FocusListener
    法:focusGained、focusLost
    件:FocusEvent
               ●  Component getOppositeComponent()

得到“参与焦点变换的”另一个对象。如果是焦点取得事件,则返回之前拥有焦点的对象;如果是焦点失去事件,则返回得到焦点的对象。若焦点转移到另外一个应用程序,返回null
                 boolean isTemporary()
焦点是临时性转移还是永久转移。临时性转移:用鼠标拖动窗口或者窗口变为非激活状态。其他为永久性转移。
事件产生原因:各种组件的焦点变化

监听器:KeyListener
    法:keyPressed、keyReleased、keyTyped
    件:KeyEvent
               ●  char getKeyChar()

此方法只在keytyped中有效,返回按下的字符。比如按下shift+a,返回'A'
                 int getKeyCode()
取得键盘上按键的整数编码。请注意,是键盘上的按键,比如F1,Ctrl,Home键等等,都有相应编码。不支持组合键,也就是说“Shift+a”和“a”返回同样的内容,都是小写a的ASCII码。但是大键盘的数字键和小键盘的数字键返回内容不同。
               ●  static String getKeyModifiersText(int modifiers)
将掩码转化为字符串,比如“Ctrl”,“Ctrl+Shift”等。注意它是static方法
               ●  static String getKeyText(int keyCode)
返回keyCode代表的按钮的名字,比如"Home","F1"等。注意它是statci方法
事件产生原因:在各种组件上敲击键盘

监听器:MouseListener
    法:mouseClicked、mousePressed、mouseReleased
           mouseEntered、mouseExited
    件:MouseEvent
               ●  Point getLocationOnScreen()

返回鼠标相对于显示屏幕的绝对坐标(java 1.6版提供)
                 int getXOnScreen()
返回鼠标相对于显示屏幕的X的绝对坐标(java 1.6版提供)
               ●  int getYOnScreen()
返回鼠标相对于显示屏幕的Y的绝对坐标(java 1.6版提供)
               ●  Point getPoint()
返回鼠标相对于组件的绝对坐标
                 int getX()
返回鼠标相对于组件的X的绝对坐标
               ●  int  getY()
返回鼠标相对于组件的Y的绝对坐标
               ●  void  translatePoint(int x, int y)
给鼠标的做用点加上一个偏移量。比如2个参数分别是10, 20,你要用鼠标画直线,当你鼠标指向100,100开始画,实际上的线是画在110,120处
                 int  getClickCount()
产生此事件时鼠标共点击了多少下(单击、双击、三击……)
               ●  int  getButton()
产生此事件时,鼠标的哪个键被点击了:NOBUTTON, BUTTON1, BUTTON2 或者 BUTTON3
               ●  boolean  isPopupTrigger()
是否能够触发一个弹出式菜单。由于各平台触发弹出式菜单的情况不一样,因此应该在mousePressed  和 mouseReleased中都检测一下
事件产生原因:在任何组件上点击鼠标、将光标移动进来或出去

监听器:MouseMotionListener
    法:mouseDragged、mouseMoved
    件:MouseEvent
           同上!
事件产生原因:在任何组件上移动鼠标

监听器:MouseWheelListener
    法:mouseWheelMoved
    件:MouseWheelEvent
               ●  int  getScrollType()

滚动的类型,是按块滚动WHEEL_BLOCK_SCROLL还是按单位滚动WHEEL_UNIT_SCROLL
                 int  getScrollAmount()
返回为相应此事件应该滚动的单位数。此方法有效的前提是按单位滚动。
               ●  int getWheelRotation()
鼠标滚轮滚动过程中”咔嚓“声的数目。向上滚为负值,向下滚为正值
事件产生原因:在任何组件上滚动鼠标中键

监听器:WindowListener
    法:windowOpened、windowClosing、windowClosed、windowIconified
           windowDeiconified、windowActivated、windowDeactivated

    件:WindowEvent
               ●  Window getWindow()

返回发生此事件的window对象
                 Window  getOppositeWindow()
若发生了焦点转移,返回另一个参与此事件的window对象,或者null
               ●  int  getOldState()
窗口变化前的状态:NORMAL、ICONIFIED、MAXIMIZED_BOTH
               ●  int getNewState()
窗口变化后的状态
事件产生原因:窗口发生变化

监听器:WindowFocusListener
    法:windowGainedFocus、windowLostFocus
    件:WindowEvent
                  同上!
事件产生原因:窗口得到或失去焦点

监听器:WindowStateListener
    法:WindowStateChanged
    件:WindowEvent
                  同上!
事件产生原因:窗口状态改变
原创粉丝点击