1、习题一、选择题1Java中监听事件和处理事件( )。A. 都由Listener完成 B. 都由在相应事件Listener处登记过的组件完成C. 由Listener和组件分别完成 D. 由Listener和窗口分别完成2.在下列事件处理机制中哪个不是机制中的角色( )。 A. 事件 B. 事件源C. 事件接口 D. 事件处理者3. addActionListener()方法中的this参数表示的意思是( )。A. 当有事件发生时,应该使用this监听器 B. this对象类会处理此事件C. this 事件优先于其他事件 D. 以上均正确4. 要判断关闭窗口的事件,应该添加的监听器是( )。 A.
2、 鼠标监听器 B. 鼠标移动监听器C. 窗口监听器 D. 以上监听器均可5. 以下哪个是正确的事件处理方法( )。AmousePressed(MouseEvent e) BMousePressed(MouseClick e)CfunctionKey(KeyPress k) DcomponentAdded(ContainerEvent e)6. 关于Java的事件处理以下那条为真? ( )A一个类可以实现多个监听者接口; B如果一个类实现一个监听者接口,它只要覆盖其用到的方法; CMouseMotionAdapter类的所有方法返回类型均为void;D以上均为真。二、填空题1事件委托模型中,要让
3、事件侦听器能够处理相应事件,必须向_注册,并实现相应侦听接口的所有方法。2Java的事件处理模型是授权事件模型,即一个_产生一个事件(event)并把它送到一个或多个的监听器(listener)那里。3Java中,当按钮获得监视器后,单击按钮,就发生_事件。4当释放鼠标按键时,将产生_事件。5.Java为那些声明了多个方法的Listener接口提供了一个对应的_,在该类中实现了对应接口的所有方法。6Java将所有组件可能发生的事件进行分类,具有共同特征的事件被抽象为一个_。7. 图形用户界面通过_响应用户和程序的交互,产生事件的组件称为_。三、思考题1简述Java的事件处理模型。2. 简述Ja
4、va中的事件处理机制。3. 事件处理程序需要包括哪三个部分?4简述按钮按键事件的注册、监听和事件处理过程。5简述按钮鼠标事件的注册、监听和事件处理过程。6简述按钮键盘事件的注册、监听和事件处理过程。四、编程题1编写动作事件处理应用程序,实现单击按键时分别改变窗体背景色的功能。创建1个窗口,1个面板对象,实现动作侦听接口ActionListener操作;创建3个按键组件,作为事件源分别向按钮注册监听者对象。编写接口方法actionPerformed(ActionEvent e)代码实现上述功能,运行效果如图1所示。图1 一个按键事件处理程序2编写一个窗口事件处理程序,关闭窗口时弹出对话框(Dia
5、log)确认窗口,按下否时,窗口保留,按下是时,退出窗口。运行界面如图2所示。实现窗口侦听接口WindowListener,改写windowClosing(WindowEvent e)等接口方法,实现窗口关闭功能。图2 一个窗口事件处理程序3编写一个焦点事件处理程序,当焦点离开文本区 (TextField) 对象时,其内容显示到标签(Label)上面,运行效果如图3所示。实现窗口侦听接口FocusListener,改写focusGained(FocusEvent e)和focusLost(FocusEvent e)接口方法,实现上述功能。图3 一个焦点事件处理程序4编写一个键盘应用事件处理程序
6、,压下键盘的向上、向下、向左和向右键时,窗体中的按键组件对象会朝相应方向移动。创建1个窗口,1个按键,1个面板对象,实现键盘侦听接口KeyListener操作;面板对象作为事件源,编写接口方法keyPressed(KeyEvent event)及keyReleased(KeyEvent event)代码。运行效果如图4所示。图4 一个键盘应用事件处理程序5编写一个鼠标事件处理程序,压下鼠标右键时,在面板上书写内容。创建1个窗口对象,实现鼠标侦听接口MouseListener和MouseMotionListener操作;MouseListener和MouseMotionListener的实现类实
7、例对象作为事件源,编写mousePressed(MouseEvent e)、mouseReleased(MouseEvent e)、mouseClicked(MouseEvent e)和mouseMoved(MouseEvent e)、mouseDragged(MouseEvent e) 等接口方法代码。绘制图形使用Graphics对象g的绘制方法g.drawLine(ox, oy, x, y)。运行效果如图5所示。图5 一个鼠标事件处理程序6编写一个菜单窗口应用程序,该程序继承自Frame并且实现ActionListener接口,使用到Menu和PopupMenu类对象,菜单项对象作为事件源,编写actionPerformed(ActionEvent e)接口方法代码。运行效果如图6所示。图6 一个菜单窗口应用程序