java界面响应
本来上篇java考点之程序看图形界面的布局逻辑,已经介绍过了,但真遇到题还是想不起什么来?
如题:2021年10月第33题:

分析:
题目已经给出了大部分代码了,只是要求补全响应事件部分的代码?难度不大,但基本知识如果没有总结过的话,光靠记,是真记不住,过一段时间又忘记了。
java界面事件处理步骤:
-
组件必须先注册相应的事件处理程序,它实现对应事件接口,如题目中给出的就是按钮,实现的接口为ActionListener.这个需要在类定义的首行声明。
注册的形式为:bClear.addActionListen(this);//用这种形式就要用this 另一种注册形式为:addActionListener(bClear);
-
实现侦听接口的所有的方法。这个是类内代码实现的方法。如题目中的public void actionPerformed(ActionEvent e)//实现接口处理事件的方法 ,ActionEvent表示要处理的事件类型.一般监视器的名称就是处理事件类型名定的,如按钮的就是动作事件监视器
关键点:
(1) 在类定义的首行接上代码 implements ActionListener;
(2) 类内定义方法actionPerformed ()。
方法如何写?考点
也就是要判断事件源的问题?两个方法:
getSource()获得事件源对象
getActionCommand()获得事件源按钮的文字信息。
常见事件接口
基本的考点,都在这张表里了,如果是写程序的话,就看后两项足矣。
事件类型 | 组件 | 接口名称 | 方法及说明 |
---|---|---|---|
ActionEvent | JButton、 JCheckBox、 JComboBox、 JMenuItem、 JRadioButton |
ActionListener | actionPerformed(ActionEvent)单击按钮、选择菜单项,或在文本框中按〈Enter〉键时 |
AdjustmentEvent | JScrollBar | Adjustment Listener |
adjustmentValueChanged (AdjustmentEvent) 当改变滚动条滑块位置时 |
ComponentEvent | JComponent 类及其子类 |
Component Listener |
componentMoved (ComponentEvent)组件移动时 componentHidden (ComponentEvent)组件隐藏时 componentResized (ComponentEvent)组件缩放时 componentShown (ComponentEvent)组件显示时 |
ContainerEvent | JContainer 类及其子类 |
Container Listener |
componentAdded(ContainerEvent) 添加组件时 componentRemoved (ContainerEvent) 移除组件时 |
FocusEvent | 同Component Event |
Focus Listener |
focusGained(FocusEvent) 组件获得焦点时 focusLost(FocusEvent) 组件失去焦点时 |
ItemEvent | JCheckBox、 JCheckboxMenuItem、JComboBox、 |
Item Listener |
itemStateChanged(ItemEvent) 选择复选框、选项框、单击列表框、 选中带复选框时 |
KeyEvent | 同Component Event |
KeyListener | keyPressed(KeyEvent)键按下时 keyReleased(KeyEvent)键释放时 keyTyped(KeyEvent)击键时 |
Mouse ButtonEvent |
同Component Event |
MouseListener | mousePressed(MouseEvent) 鼠标键按下时 mouseReleased(MouseEvent) 鼠标键释放时 mouseEntered(MouseEvent) 鼠标进入时 mouseExited(MouseEvent) 鼠标离开时 mouseClicked(MouseEvent) 单击鼠标时 |
Mouse MotionEvent |
同Component Event |
MouseMotionListener | mouseDragged(MouseEvent) 鼠标拖放时、 mouseMoved(MouseEvent) 鼠标移动时 |
TextEvent | JTextField、 JTextArea |
TextListener | textValueChanged(TextEvent) 文本框、文本区内容修改时 |
WindowEvent | JFrame、 JWindow、 JDialog |
Window Listener |
windowClosing(WindowEvent) 窗口关闭时 windowOpened(WindowEvent) 窗口打开后 windowlco |