JAVA程序设计技能教程第10章_ppt.txt

大学JAVA程序设计技能教程-彭德林-课件PPT

收藏

资源目录
跳过导航链接。
大学JAVA程序设计技能教程-彭德林-课件PPT.zip
JAVA程序设计技能教程-彭德林-PPT演示文稿
教案资料.ppt---(点击预览)
JAVA程序设计技能教程-彭德林-PPT课件文件
文稿ppt_ppt.txt---(点击预览)
文稿ppt_ppt.jpg---(点击预览)
文稿ppt.ppt---(点击预览)
JAVA程序设计技能教程-彭德林-大学教学资料
(课件资料)《JAVA程序设计技能教程》-彭德林-电子教案
压缩包内文档预览:
预览图 预览图 预览图 预览图 预览图 预览图
编号:21836413    类型:共享资源    大小:13.18MB    格式:ZIP    上传时间:2019-09-06 上传人:QQ24****1780 IP属地:浙江
25
积分
关 键 词:
大学 java 程序设计 技能 技巧 教程 彭德林 课件 ppt
资源描述:
大学JAVA程序设计技能教程-彭德林-课件PPT,大学,java,程序设计,技能,技巧,教程,彭德林,课件,ppt
内容简介:
Java程序设计技能教程主编 彭德林 李德有中国水利水电出版社 第10章 键盘与鼠标事件响应 任务一:掌握事件处理机制 任务三:掌握对鼠标事件的响应方法任务二:掌握对键盘事件响应方法 任务四:实训十 事件响应实训10.1 任务一 掌握事件处理机制 10.1.1 相关概念1事件:是一个对象,它描述发生了什么事情。事件对象由在Java中预先定义好的类产生,Java定义了所有事件的事件类,如键盘操作对应的事件类是KeyEvent。java.awt.AWTEvent类是所有事件类的父类。2事件源:能够产生事件的对象都可以称之为事件源,如键盘、鼠标、按钮等。3事件处理方法:能够接收、解析处理事件类对象,实现和用户交互的方法。它以事件对象为参数。4监视器:对事件源进行监视,使发生事件时做出处理的一种特殊的对象。事件源通过调用相应的方法将某个对象作为自己的监视器。10.1.2 事件处理机制Java采用“授权事件模型”(Event Delegation Model)的事件处理模式。其原理为:事先定义多种事件类型(即用户在GUI组件上进行的操作,如单击事件),当用户对某个GUI组件进行操作时,可能触发相应的事件,这个组件就是事件源。如果此组件注册了事件监听器(可以通过addXXXXListener方法注册),事件被传送给已注册的监听器,事件监听器负责处理事件的过程。一个组件可以注册一个或多个监听器。监视器负责处理事件源发生的事件。监视器是个对象,为了处理事件源发生的事件,监视器会自动调用一个方法来处理事件。为了让监视器能对事件源发生的事件进行处理,创建该监视器的类必须声明实现相应的接口,即必须在类体中给出该接口中所有方法的方法体,这样在事件源发生事件时,监视器就自动调用执行被类实现的某个接口方法 若要保证一个组件产生的某种类型事件XXXEvent有效,需要注册一个“事件监听器”监听它。用如下语句设置事件监听器:事件源.addXXXListener(XXXListener代表某种事件监听器)。组件作为事件源,不同类型的组件会产生特定类型的事件。 一旦产生事件后,事件会被传送给已注册的一个或多个监听器。事件监听器是实现了与该事件相对应的XXXListener接口的类。事件监听器监听到事件后,会根据事件的类型调用相应的事件处理方法。 1java.awt.event包(1)文本框回车、按钮单击、计时器、菜单项引发动作事件:java.awt.event.ActionEvent处理事件的接口:java.awt.event.ActionListener接口中的方法:public void actionPerformed(ActionEvent event)(2)单选按钮、多选按钮、下拉列表引发选项事件:java.awt.event.ItemEvent处理事件的接口:java.awt.event.ItemListener接口中的方法:public void itemStateChanged(ItemEvent event)(3)键盘引发动作事件:java.awt.event.KeyEvent处理事件的接口:java.awt.event.KeyListener(4)鼠标引发鼠标事件:java.awt.event.MouseEvent处理事件的接口:java.awt.event.MouseListener与java.awt.event.MouseMotionListener接口。2java.swing.event包(1)列表(JList)引发列表选择事件:java.swing.event.ListSelectionEvent处理事件接口:java.swing.event.ListSelectionListener接口中的方法:public void valueChanged(ListSelectionEvent event) (2)树(JTree)引发树选择事件:java.swing.event.TreeSelectionEvent处理事件接口:java.swing.event.TreeSelectionListener接口中的方法:public void valueChanged(TreeSelectionEvent event) (3)滑动杆(JSlider)引发改变事件:java.swing.event.ChangeEvent处理事件接口:java.swing.event.ChangeListener接口中的方法:public void stateChanged(ChangeEvent event)10.2 任务二 掌握对键盘事件响应方法10.2.1 键盘事件当键盘按下、释放、点击时都会触发键盘事件(java.awt.event.KeyEvent),常用的KeyEvent方法是public int getKeyCode(),它用于获取所按下键的编码值。键盘事件类提供了很多静态常量表示键的编码值,如:VK_A 键A的编码值VK_DOWN 下箭头键的编码值VK_UP 上箭头键的编码值VK_1 键1的编码值VK_ENTER 表示回车编码值VK_SPACE 表示空格键编码值 更多的键码值可以查阅Java API文档来获得。编写键盘事件响应程序时,使用语句if(e.getKeyCode()=KeyEvent.VK_B)可以判断是否按下了字母键B,然后做相应处理,语句中的e是事件处理时接收的键盘事件对象参数名。10.2.2 键盘监听接口KeyListener对键盘事件可以通过java.awt.event.KeyListener接口中提供的方法来处理。这个接口有三个方法:1keyPressed(KeyEvent e)响应按下键盘事件;2keyTyped(KeyEvent e)响应按下又松开键盘事件;3keyReleased(KeyEvent e)响应松开键盘事件;它们都是public void方法,事件源要使用addKeyListener方法添加监视器来获得事件。【例10-1】对键盘事件进行响应。import java.awt.event.*;import javax.swing.*;import java.awt.*;public class hh extends JFrame implements KeyListenerJButton JButton1;hh() JPanel jpanel1=new JPanel();JButton1=new JButton(请按M键!);JButton1.addKeyListener(this);this.setSize(200,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jpanel1.add(JButton1);this.add(jpanel1);this.setVisible(true);public void keyPressed(KeyEvent e)if(e.getKeyCode()=KeyEvent.VK_M) JButton1.setBounds(60,60,90,90);JButton1.setBackground(Color.red);public void keyReleased(KeyEvent e)public void keyTyped(KeyEvent e)public static void main(String args)new hh();10.2.3 键盘适配器类KeyAdapter使用KeyListener接口时,即使有些方法不使用也必须在程序中写出接口的所有方法,因此比较麻烦,而java.awt.event.keyAdapter类本身就使用了KeyListener接口,并对接口的三个方法增加了空方法体,因此使用keyAdapter类时不必像使用接口那样实现所有方法,只需覆盖要响应的键盘事件方法即可。下面的程序是通过使用键盘适配器类来实现响应键盘事件,当分别按“R”、“G”、“B”时将圆的颜色设置为红色、绿色和蓝色。【例10-2】import java.awt.event.*;import javax.swing.*;import java.awt.*;public class hh extends JFrameColor c;hh()this.setSize(200,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);addKeyListener(new MyType();class MyType extends KeyAdapter public void keyTyped(KeyEvent e) if(e.getKeyChar()=r|e.getKeyChar()=R) c=Color.red; else if(e.getKeyChar()=g|e.getKeyChar()=G) c=Color.green;else if(e.getKeyChar()=b|e.getKeyChar()=B) c=Color.blue; else c=Color.black; repaint(); public void paint(Graphics g) g.setColor(c);g.fillOval(60,60,100,100); public static void main(String args) new hh(); 10.3 任务三 掌握对鼠标事件的响应方法10.3.1 鼠标事件鼠标事件源各种动作可以触发鼠标事件,如按下鼠标、点击鼠标、释放鼠标、鼠标进入和鼠标退出。鼠标事件类型是java.awt.event.MouseEvent,当发生鼠标事件时MouseEvent类自动创建一个鼠标事件对象。1MouseEvent类有几个常用的方法:(1)getX()用于获取鼠标x坐标(2)getY()用于获取鼠标y坐标;(3)getButton()用于获取鼠标的左中右键值;根据键值来知道按的是哪一个键,MouseEvent.BUTTON1、MouseEvent.BUTTON2和MouseEvent.BUTTON3分别是左中右三个键值。例如在程序中通过if(e.getButton()=MouseEvent.BUTTON1)可以判断按的是否是左键。(4)getClickCount()获取点击次数;2添加鼠标监视器的方法:public void addMouseListener()。3移去鼠标监视器的方法:public void removeMouseListener().10.3.2 使用MouseListener接口处理鼠标事件通过使用java.awt.event.MouseListener接口可以对鼠标事件进行处理,它有以五个方法:(1)mousePressed(MouseEvent)方法,按下鼠标时,接口监视器发现这个事件后自动调用这个方法。(2)mouseReleased(MouseEvent)方法,松开鼠标时,接口监视器发现这个事件后自动调用这个方法。(3)mouseEntered(MouseEvent)方法,鼠标指针进入容器时,接口监视器发现这个事件后自动调用这个方法。(4)mouseExited(MouseEvent)方法,鼠标指针离开容器时,接口监视器发现这个事件后自动调用这个方法。(5)mouseClicked(MouseEvent)方法,点击鼠标时,接口监视器发现这个事件后自动调用这个方法。这五个方法不管鼠标按键是左中右都会执行,如果要根据不同键进行不同处理就要先用getButton()方法来判断。下面通过例10-3来说明如何用MouseListener接口来响应鼠标事件 【例10-3】import java.awt.*;import java.applet.*;import java.awt.event.*;public class m1 extends Applet implements MouseListenerTextField text1;int x;public void init()x=10;text1=new TextField(40);add(text1);text1.setFont(new Font(隶书,Font.BOLD,20);addMouseListener(this);public void mousePressed(MouseEvent e)text1.setText(鼠标被按下,重新画圆!);repaint();public void mouseReleased(MouseEvent e)text1.setText (鼠标被松开,指针坐标是:+e.getX()+,+e.getY();public void mouseEntered(MouseEvent e)text1.setText (鼠标进入文本框,指针坐标是:+e.getX()+,+e.getY();public void mouseExited(MouseEvent e)text1.setText (鼠标离开文本框了!);public void mouseClicked(MouseEvent e)if(e.getClickCount()=2)text1.setText (双击鼠标,指针坐标是:+e.getX()+,+e.getY();public void paint(Graphics g) x=x+5;g.setColor(Color.red);g.drawOval( 60, 60,x,x );g.setColor(Color.blue);g.fillOval(60,60,x,x);10.3.3 使用MouseMotionListener接口处理鼠标事件MouseListener接口中没有鼠标移动(不按下鼠标)和拖动(按下鼠标)的事件处理,对这两种事件响应就要用java.awt.event.MouseMotionListener接口来处理。它有两个方法:1)mouseDragged(MouseEvent)处理鼠标拖动事件2)mouseMoved(MouseEvent)处理鼠标移动事件事件源添加监视器方法:public void addMouseMotionListener()通过下面的画画程序我们了解一下使用MouseMotionListener接口处理鼠标事件的方法。【例10-4】import java.awt.*;import java.applet.*;import java.awt.event.*;public class m2 extends Applet implements MouseMotionListenerint x=0,y =0;public void init() setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);setBackground(Color.green);ad
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:大学JAVA程序设计技能教程-彭德林-课件PPT
链接地址:https://www.renrendoc.com/p-21836413.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!