当前位置: 首页 > article >正文

《Java核心技术 卷I》用户界面AWT事件继承层次

AWT事件继承层次

EventObject类有一个子类AWTEvent,它是所有AWT事件类的父类。

Swing组件会生成更多其他事件对象,都直接拓展自EventObject而不是AWTEvent。

AWT将事件分为底层(low-level)事件和语义事件。

语义事件:表示用户的动作事件,例如点击按钮,调节滚动条。

底层事件:使得语义事件得以发生的事件,例如按下鼠标,移动鼠标等。

AWT事件类的继承关系图

java.awt.event包中最常用的语义事件类:

  • ActionEvent(对应按钮点击,菜单选择,选择列表,文本域中按回车)
  • AdjustmentEvent(用户调用滚动条)
  • ItemEvent(用户从复选框或列表框中选择一项)

最常用的5个底层事件类是:

  • KeyEvent(一个键按下或释放)
  • MouseEvent(鼠标键按下、释放、移动、拖动)
  • MouseWheelEvent(鼠标滚轮转动)
  • FocusEvent(某个组件获得焦点或失去焦点)
  • WindowEvent(窗口状态改变)

最重要的AWT监听器接口、事件和事件源

接口

方法

参数/访问方法

事件源

ActionListener

actionPerformed

ActionEvent

  • getActionCommand
  • getModifiers

AbstractButton

JComboBox

JTextField

Timer

AdjustmentListener

adjustmentValueChanged

AdjustmentEvent

  • getAdjustable
  • getAdjustmentType
  • getValue

JScrollbar

ItemListener

itemStateChanged

ItemEvent

  • getItem
  • getItemSelectable
  • getStateChange

AbstractButton

JComboxBox

FocusListener

focusGained

focusLost

FocusEvent

  • isTemporary

Component

KeyListener

keyPressed

keyReleased

keyTyped

KeyEvent

  • getKeyChar
  • getKeyCode
  • getKeyModifiersText
  • getKeyText
  • isActionKey

Component

MouseListener

mousePressed

mouseReleased

mouseEntered

mouseExited

mouseClicked

MouseEvent

  • getClickCount
  • getX
  • getY
  • getPoint
  • translatePoint

Component

MouseMotionListener

mouseDragged

mouseMoved

MouseEvent

Component

MouseWheelListener

mouseWheelMoved

MouseWheelEvent

  • getWheelRotation
  • getScrollAmount

Component

WindowListener

windowClosing

windowOpened

windowIconfied

windowDeiconified

windowClosed

windowActivated

windowDeactivated

WindowEvent

  • getWindow

Window

WindowFocusListener

windowGainedFocus

windowLostFocus

WindowEvent

  • getOppositeWindow

Window

WindowStateListener

windowStateChanged

WindowEvent

  • getOldState
  • getNewState

Window


http://www.kler.cn/a/396943.html

相关文章:

  • 谷歌AI进军教育,这将改变未来?
  • 利用云计算实现高效的数据备份与恢复策略
  • springboot实现简单的数据查询接口(无实体类)
  • Python学习------第八天
  • 动力商城-03 Idea集成apifox Mybatis-Plus字段策略
  • c++入门--引用与指针,const与引用,NULL与nullptr
  • 【网络】什么是交换机?switch
  • IDC机房服务器托管的费用组成
  • 【MyBatis操作数据库】XML配置
  • 自然语言处理(NLP)的开源生态系统:Hugging Face 原理和使用
  • [241115] Debian 12.8 发布 | Mistral AI 推出批量 API,成本降低 50%
  • “嵌入”在大语言模型中是解决把句子转换成向量表示的技术
  • Servlet⽣生命周期超级细(笔记)
  • 区间和 离散化 模板题
  • CentOS 升级 gcc 版本
  • 项目风险管理的3大要素
  • 如何基于Tesseract实现图片的文本识别
  • Redis 持久化机制 RDB 和 AOF 区别
  • 图像重建之深度学习重建
  • 安全见闻5
  • 深入理解UML通信图:概念、构成与使用示例
  • macbook git 设置和远程克隆项目
  • 每日计划-1116
  • Linux下安装rabbitMQ
  • 知识图谱,语义分析,全文检索,neo4j,elaticsearch,知识库平台(java,vue)
  • 选择香港服务器的带宽和延迟配置时要注意的事项