Java软件设计基础课件.ppt

上传人(卖家):晟晟文业 文档编号:4301061 上传时间:2022-11-27 格式:PPT 页数:63 大小:1.61MB
下载 相关 举报
Java软件设计基础课件.ppt_第1页
第1页 / 共63页
Java软件设计基础课件.ppt_第2页
第2页 / 共63页
Java软件设计基础课件.ppt_第3页
第3页 / 共63页
Java软件设计基础课件.ppt_第4页
第4页 / 共63页
Java软件设计基础课件.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、Java软件设计基础School of Computer Science and Technology1.1.组件概述组件概述 设计和实现设计和实现GUIGUI的主要难点的主要难点 创建组成界面的各成分和元素,指定它们的属性和位置关系,根据创建组成界面的各成分和元素,指定它们的属性和位置关系,根据具体需要布局排列,从而构成完整的具体需要布局排列,从而构成完整的GUIGUI的的外观表象外观表象;在在GUIGUI程序中,代码所执行的路线及顺序都是很不确定的。在程序中,代码所执行的路线及顺序都是很不确定的。在GUIGUI程程序中,用户可以点击任意按键并和屏幕上的其他任何部分进行交互及序中,用户可以点

2、击任意按键并和屏幕上的其他任何部分进行交互及信息传递信息传递即即事件驱动事件驱动。AWT(AbstractAWT(Abstract Window Window TookitTookit)包包 ButtonButton、LabelLabel、TextFieldTextField、CheckBoxCheckBox SwingSwing包包 JButtonJButton、JLabelJLabel、JTextFieldJTextField、JCheckBoxJCheckBoxSchool of Computer Science and Technology 对对JavaJava运行的每一个平台,运行的

3、每一个平台,AWTAWT的组件自动的通过它们各自的代理的组件自动的通过它们各自的代理映射成特定平台的组件,这些代理称为同位体映射成特定平台的组件,这些代理称为同位体(peer)(peer)。AWTAWT组件的设计原理是把与显示组件有关的许多工作和处理组件事件组件的设计原理是把与显示组件有关的许多工作和处理组件事件的工作交给相应的本地组件,因此非常依赖底层平台;的工作交给相应的本地组件,因此非常依赖底层平台;AWTAWT适用于开发简单的适用于开发简单的GUIGUI,但不适于开发复杂的,但不适于开发复杂的GUIGUI项目。项目。随着随着Java 2Java 2的发行,的发行,AWTAWT的用户界面

4、组件被更稳定、通用和灵活的的用户界面组件被更稳定、通用和灵活的SwingSwing组件库取代。组件库取代。大多数大多数SwingSwing组件由组件由JavaJava代码绘制在画布上,更少的依赖目标机器上的代码绘制在画布上,更少的依赖目标机器上的底层平台。底层平台。不依赖本地不依赖本地GUI的的Swing组件称为轻组件组件称为轻组件Lightweight component;AWT组件称为重组件组件称为重组件Heavyweight component。School of Computer Science and TechnologySchool of Computer Science and

5、TechnologySchool of Computer Science and TechnologySchool of Computer Science and Technology 容器类容器类(Container)(Container)用来包含其他组件;用来包含其他组件;WindowWindow、PanelPanel、AppletApplet、FrameFrame和和DialogDialog都是都是AWTAWT组件的容器类;组件的容器类;ConponentConponent、ContainerContainer、JFrameJFrame、JDialogJDialog、JAppletJAp

6、plet和和JPanelJPanel都是都是SwingSwing的容器类。其中:的容器类。其中:ContainerContainer用来组织组件;用来组织组件;JFrameJFrame是不能包含在另一个窗口内的窗口;是不能包含在另一个窗口内的窗口;JDialogJDialog是一个弹出式窗口或消息框;是一个弹出式窗口或消息框;JAppletJApplet是是AppletApplet的一个子类;的一个子类;JPanelJPanel是一个存放用户界面组件的不可见的容器,可以嵌套。是一个存放用户界面组件的不可见的容器,可以嵌套。组件类组件类(Component)(Component)组件是一个可以以

7、图形化方式显示于屏幕上与用户进行交互的对象。组件是一个可以以图形化方式显示于屏幕上与用户进行交互的对象。按钮、菜单、标签、文本域、复选框按钮、菜单、标签、文本域、复选框School of Computer Science and Technology 辅助类辅助类 辅助类都不是辅助类都不是ComponentComponent的子类,它们用来描述的子类,它们用来描述GUIGUI组件的属性,例组件的属性,例如颜色、字体、大小等。如颜色、字体、大小等。GraphicsGraphics类是一个抽象类,提供一个图形环境,用于绘制字符串、直线和类是一个抽象类,提供一个图形环境,用于绘制字符串、直线和简单几

8、何图形;简单几何图形;ColorColor类用来处理类用来处理GUIGUI组件的颜色;组件的颜色;FontFont类指定类指定GUIGUI组件上文本和图形的字体;组件上文本和图形的字体;FontMetricsFontMetrics是用于获取字体属性的抽象类;是用于获取字体属性的抽象类;DimensionDimension将组件的宽度和高度(精度为整数)封装在单个对象中;将组件的宽度和高度(精度为整数)封装在单个对象中;LayoutManagerLayoutManager是一个接口,指定组件在容器中的摆放方式。是一个接口,指定组件在容器中的摆放方式。辅助类包含在辅助类包含在AWTAWT包中。包中

9、。SwingSwing组件不能取代组件不能取代AWTAWT的全部类,只能替代的全部类,只能替代AWTAWT的的GUIGUI组件类;组件类;AWTAWT的辅助类保持不变。的辅助类保持不变。School of Computer Science and Technology 引入引入java.awtjava.awt包或包或javax.swingjavax.swing包;包;利用包中提供的组件类来定义某种组件;利用包中提供的组件类来定义某种组件;定义一个放置组件的容器;定义一个放置组件的容器;对容器进行布局管理,将此组件添加到该容器中;对容器进行布局管理,将此组件添加到该容器中;为了让该组件响应某个事

10、件,还要注册组件对应的事件监听器并实为了让该组件响应某个事件,还要注册组件对应的事件监听器并实现相应的监听器接口。现相应的监听器接口。School of Computer Science and Technology2.AWT2.AWT图形化界面基础图形化界面基础 FrameFrame 框架是框架是WindowsWindows类的子类,它是窗口的一种,是顶级窗口。类的子类,它是窗口的一种,是顶级窗口。FrameFrame组组件在件在JavaJava的顶层窗口中可以独立使用。的顶层窗口中可以独立使用。包含标题、边框等。包含标题、边框等。当当FrameFrame被关闭后,将产生被关闭后,将产生Wi

11、ndowEventWindowEvent事件。事件。FrameFrame无法直接监听键盘输入事件。无法直接监听键盘输入事件。构造方法:构造方法:建立一个没有标题的新建立一个没有标题的新FrameFrame对象:对象:建立一个以建立一个以titletitle为标题的为标题的FrameFrame对象:对象:Frame()Frame(String title)School of Computer Science and Technology 主要方法:主要方法:School of Computer Science and Technology 示例:示例:School of Computer Sci

12、ence and Technology 简介:简介:是是ContainerContainer类的子类,也是容器,可容纳其他组件。类的子类,也是容器,可容纳其他组件。面板不是顶级窗口,不能独立存在,必须将它添加到其他容器中。面板不是顶级窗口,不能独立存在,必须将它添加到其他容器中。创建一个创建一个PanelPanel对象后需将该对象放入对象后需将该对象放入WindowWindow和和FrameFrame中才可使中才可使PanelPanel中的内容可见。中的内容可见。构造方法:构造方法:建立一个默认布局的新建立一个默认布局的新PanelPanel对象:对象:建立一个布局为建立一个布局为layout

13、layout的的PanelPanel对象:对象:Panel()Panel(LayoutManager layout)School of Computer Science and Technology 示例示例School of Computer Science and Technology 简介简介 是是JavaJava程序程序GUIGUI设计中最常用的一个组件,是可以提供用户快速启动设计中最常用的一个组件,是可以提供用户快速启动某一动作的类。某一动作的类。按钮本身不显示信息,它一般对应一个事先定义好的功能操作,并按钮本身不显示信息,它一般对应一个事先定义好的功能操作,并对应一段程序。对应一段

14、程序。当用户点击按钮时,系统自动执行与该按钮相联系的程序,从而完当用户点击按钮时,系统自动执行与该按钮相联系的程序,从而完成预先指定的功能。成预先指定的功能。构造方法构造方法 构造一个没有标题的按钮:构造一个没有标题的按钮:构造一个标题为构造一个标题为strstr的按钮:的按钮:Button()Button(String str)School of Computer Science and Technology 主要方法主要方法 示例示例School of Computer Science and Technology 简介简介 是一种用来显示说明性的静态文本的组件,它起到信息说明的作用。是一

15、种用来显示说明性的静态文本的组件,它起到信息说明的作用。标签是用户只能查看而不能简单的修改其内容的文本显示区域,但标签是用户只能查看而不能简单的修改其内容的文本显示区域,但用户可以在应用程序中通过调用用户可以在应用程序中通过调用LabelLabel提供的方法更换文本的内容。提供的方法更换文本的内容。构造方法构造方法 创建一个没有名字的标签对象创建一个没有名字的标签对象 创建一个名字为创建一个名字为strstr的标签对象的标签对象 创建一个名字为创建一个名字为strstr的标签对象,对齐方式为的标签对象,对齐方式为alignalign其中其中Label.LEFTLabel.LEFT、Label.

16、RIGHTLabel.RIGHT、Label.CENTERLabel.CENTER分别为居左、居右、居分别为居左、居右、居中。中。Label()Label(String str)Label(String str,int align)School of Computer Science and Technology 主要方法主要方法 示例示例School of Computer Science and Technology 它们都是它们都是TextComponentTextComponent的子类,用于文本处理。的子类,用于文本处理。TextFieldTextField 文本框是单行文本输入域,

17、多用于单行显示。文本框是单行文本输入域,多用于单行显示。当按下回车键时,会发生事件当按下回车键时,会发生事件(ActionEventActionEvent),可以通过,可以通过ActionListenerActionListener中的中的actionPerformedactionPerformed方法对事件进行处理。方法对事件进行处理。构造方法构造方法创建一个初始文本串为空的文本框对象创建一个初始文本串为空的文本框对象创建一个初始文本串为创建一个初始文本串为strstr的文本框对象的文本框对象创建一个初始文本串为创建一个初始文本串为strstr、列数为、列数为columncolumn长度的文

18、本框对象长度的文本框对象TextField()TextField(String str)TextField(String str,int column)School of Computer Science and Technology 主要方法主要方法 TextAreaTextArea 是多行文本组件,用于显示程序中的多行文本信息。是多行文本组件,用于显示程序中的多行文本信息。构造方法构造方法创建一个初始文本串为创建一个初始文本串为strstr的文本域对象的文本域对象创建创建numLinesnumLines行、行、numCharsnumChars列的文本域对象列的文本域对象创建一个初始文本串为

19、创建一个初始文本串为strstr、numLinesnumLines行、行、numCharsnumChars列的文本域对象列的文本域对象TextArea(String str)TextArea(int numLines,int numChars)TextArea(String str,int numLines,int numChars)School of Computer Science and Technology 主要方法主要方法 示例:示例:School of Computer Science and TechnologySchool of Computer Science and Tec

20、hnology 简介简介 复选框又称为检测盒,用复选框又称为检测盒,用CheckboxCheckbox类的对象表示,类的对象表示,CheckboxCheckbox由一个由一个方形的选择区和一个标签组成,有选中方形的选择区和一个标签组成,有选中(check)(check)和未选中和未选中(uncheck)(uncheck)两种状两种状态。态。单独的单独的CheckboxCheckbox实现的是复选框功能,当多个实现的是复选框功能,当多个CheckboxCheckbox加入到一个加入到一个CheckboxGroupCheckboxGroup组件内时,选择区变成圆形,组件内的组件内时,选择区变成圆形

21、,组件内的CheckboxCheckbox只能有只能有一个被选中,此时实现的是单选按钮的功能。一个被选中,此时实现的是单选按钮的功能。复选框和单选框使用复选框和单选框使用ItemListenerItemListener来监听来监听ItemEventItemEvent事件。事件。构造方法构造方法 创建一个标签为创建一个标签为strstr的复选框的复选框 创建一个标签为创建一个标签为strstr的单选按钮,的单选按钮,g g指明所属的指明所属的CheckboxGroupCheckboxGroupCheckbox(String str)Checkbox(String str,CheckboxGrou

22、p g,boolean state)School of Computer Science and Technology 主要方法主要方法School of Computer Science and Technology 简介简介 提供一个弹出式的菜单让用户选择,也是提供一个弹出式的菜单让用户选择,也是“多选一多选一”的输入界面。的输入界面。与单选按钮组利用单选按钮把所有选项列出的方法不同,下拉列表与单选按钮组利用单选按钮把所有选项列出的方法不同,下拉列表的所有选项被折叠起来,在这个菜单折叠时只显示最前面的或是用户的所有选项被折叠起来,在这个菜单折叠时只显示最前面的或是用户选定的那一项。选定的那

23、一项。下拉列表节省显示空间,适用于大量选项的情形。下拉列表节省显示空间,适用于大量选项的情形。ChoiceChoice用用ItemListenerItemListener接口来监听。接口来监听。构造方法构造方法 创建一个空白的下拉列表创建一个空白的下拉列表Choice()School of Computer Science and Technology 主要方法主要方法 简介简介 把所有供用户选择的项都显示出来以供选择。把所有供用户选择的项都显示出来以供选择。列表可以实现多选,支持滚动条,可以同时浏览多项。列表可以实现多选,支持滚动条,可以同时浏览多项。列表可以产生两种事件:列表可以产生两种事

24、件:School of Computer Science and Technology当用户单击列表中的某一个选项并选中它时,将产生当用户单击列表中的某一个选项并选中它时,将产生ItemEventItemEvent类的选择类的选择事件;事件;当用户双击列表中的某一个选项时,将产生当用户双击列表中的某一个选项时,将产生ActionEventActionEvent类的动作事件。类的动作事件。构造方法构造方法 建立行数为建立行数为rowsrows的的ListList对象,参数对象,参数b b为真时允许多选为真时允许多选 主要方法主要方法List(int rows,boolean b)School o

25、f Computer Science and Technology 示例示例School of Computer Science and Technology 简介简介 对话框与框架类似,是有边框、有标题而独立存在的容器。通常起对话框与框架类似,是有边框、有标题而独立存在的容器。通常起到与用户交互的对话窗口的作用。到与用户交互的对话窗口的作用。对话框不能作为程序的最外层容器,也不能包含菜单栏,它必须隶对话框不能作为程序的最外层容器,也不能包含菜单栏,它必须隶属于某个框架并由该框架负责弹出。属于某个框架并由该框架负责弹出。对话框可以被设置为模式窗口,其特点是总是在激活窗口的最前面,对话框可以被设

26、置为模式窗口,其特点是总是在激活窗口的最前面,即若是不关闭,则不能对其他窗口进行操作。即若是不关闭,则不能对其他窗口进行操作。构造方法构造方法 创建没有标题的对话框,创建没有标题的对话框,OwnerOwner表示所有者表示所有者 创建有指定标题创建有指定标题titletitle的对话框的对话框 创建指定标题的对话框并指明是否为模式窗口创建指定标题的对话框并指明是否为模式窗口Dialog(Frame Owner)Dialog(Frame Owner,String title)Dialog(Frame Owner,String title,boolean model)School of Compu

27、ter Science and Technology 主要方法主要方法 示例示例School of Computer Science and TechnologySchool of Computer Science and Technology 画布代表屏幕上一块空白的矩形区域,它不是容器,而是一个可画布代表屏幕上一块空白的矩形区域,它不是容器,而是一个可以在这里绘画、捕捉用户操作、产生相应事件的区域。以在这里绘画、捕捉用户操作、产生相应事件的区域。School of Computer Science and Technology3.3.事件处理机制事件处理机制 事件及其处理机制事件及其处理机

28、制 GUIGUI的两大任务的两大任务创建窗口并在窗口中添加各种组件,规划组件在窗口中的位置和相关属创建窗口并在窗口中添加各种组件,规划组件在窗口中的位置和相关属性,构成性,构成GUIGUI的外观效果;的外观效果;设置各类组件对不同事件的响应,从而执行用户在用户界面所实施的交设置各类组件对不同事件的响应,从而执行用户在用户界面所实施的交互行为,如果用户在用户界面执行了一个动作,这将导致一个事件的发互行为,如果用户在用户界面执行了一个动作,这将导致一个事件的发生。生。事件是描述用户所执行的一个操作、所产生的一个行为,主要涉及事件是描述用户所执行的一个操作、所产生的一个行为,主要涉及以下三个概念:以

29、下三个概念:事件事件(Event)(Event):用来描述在用户界面的用户交互行为所产生的一种效果;:用来描述在用户界面的用户交互行为所产生的一种效果;事件源事件源(Event Source)(Event Source):产生事件的组件对象;:产生事件的组件对象;事件处理方法事件处理方法(Event Handler)(Event Handler):负责解析处理事件的类对象,用以实现和:负责解析处理事件的类对象,用以实现和用户交互的方法。用户交互的方法。School of Computer Science and Technology 事件的类层次事件的类层次事件处理方法主要基于事件处理方法主要

30、基于“事件授权模型事件授权模型”(EDM:Event Delegation Model)(EDM:Event Delegation Model)的处理机制,实现定义多种事件类型。的处理机制,实现定义多种事件类型。事件源拥有自己的方法,通过它可以向其注册事件监听器。事件监听器事件源拥有自己的方法,通过它可以向其注册事件监听器。事件监听器是一个实例,当事件源产生一个事件后,事件源就会通知相应的事件监是一个实例,当事件源产生一个事件后,事件源就会通知相应的事件监听器,根据事件对象内封装的消息决定如何响应该事件。听器,根据事件对象内封装的消息决定如何响应该事件。一个事件源可以注册一个或多个监听器,一个

31、监听器也可以被注册到多一个事件源可以注册一个或多个监听器,一个监听器也可以被注册到多个事件源。个事件源。School of Computer Science and Technology 事件的接口及方法事件的接口及方法 ActionEventActionEvent行为:点击按钮、文本框、列表及选择菜单等行为:点击按钮、文本框、列表及选择菜单等接口名:接口名:ActionListenerActionListener注册方法:注册方法:监听器接口所提供的事件方法:监听器接口所提供的事件方法:ItemEventItemEvent行为:点击复选框选择框列表及带复选框的菜单项等行为:点击复选框选择框列

32、表及带复选框的菜单项等接口名:接口名:ItemListenerItemListener注册方法:注册方法:监听器接口所提供的事件方法监听器接口所提供的事件方法 KeyEventKeyEvent行为:按下或释放键盘行为:按下或释放键盘addActionListener(ActionListener Listener)actionPerformed(ActionEvent e)addItemListener(ItemListener Listener)itemStateChanged(ItemEvent e)School of Computer Science and Technology接口名:

33、接口名:KeyListenerKeyListener注册方法:注册方法:监听器接口所提供的事件方法监听器接口所提供的事件方法 MouseEventMouseEvent行为:鼠标单击或鼠标移动行为:鼠标单击或鼠标移动接口名:接口名:鼠标单击鼠标单击:MouseListener鼠标移动:鼠标移动:MouseMotionListener注册方法:注册方法:鼠标单击:鼠标移动:addKeyListener(KeyListener Listener)keyPressed(KeyEvent e)keyReleased(KeyEvent e)keyTyped(KeyEvent e)getModified()

34、addMouseListener(MouseListener Listener)addMouseMotionListener(MouseMotionListener Listener)School of Computer Science and Technology监听器接口所提供的事件方法:监听器接口所提供的事件方法:鼠标单击鼠标单击鼠标移动鼠标移动 WindowEventWindowEvent行为:激活、打开、关闭窗口或窗口失去焦点及收到窗口级事件行为:激活、打开、关闭窗口或窗口失去焦点及收到窗口级事件接口名:接口名:WindowListenerWindowListener注册方法:注册方

35、法:mousePressed(MouseEvent e)mouseReleased(MouseEvent e)mouseEntered(MouseEvent e)mouseExited(MouseEvent e)mouseClicked(MouseEvent e)mouseMoved(MouseEvent e)mouseDragged(MouseEvent e)addWindowListener(WindowListener Listener)School of Computer Science and Technology监听器接口所提供的事件方法:监听器接口所提供的事件方法:TextEve

36、ntTextEvent行为:文本框、文本域发生改变行为:文本框、文本域发生改变接口名:接口名:TextListenerTextListener注册方法:注册方法:监听器接口所提供的事件方法:监听器接口所提供的事件方法:windowClosing(WindowEvent e)windowClosed(WindowEvent e)windowOpened(WindowEvent e)windowIconified(WindowEvent e)windowDeiconified(WindowEvent e)windowActivated(WindowEvent e)windowDeactivated

37、(WindowEvent e)addTextListener(TextListener Listener)textValueChanged(TextEvent e)School of Computer Science and Technology FocusEventFocusEvent行为:组件获得或失去焦点行为:组件获得或失去焦点接口名:接口名:FocusListenerFocusListener注册方法:注册方法:监听器接口所提供的事件方法:监听器接口所提供的事件方法:ComponentEventComponentEvent行为:移动、隐藏、显示组件和改变组件大小等。行为:移动、隐藏、显

38、示组件和改变组件大小等。接口名:接口名:ComponentListenerComponentListener注册方法:注册方法:监听器接口所提供的事件方法:监听器接口所提供的事件方法:addComponentListener(监听者)ComponentMoved(ComponentEvent e)ComponentHidden(ComponentEvent e)ComponentResized(ComponentEvent e)ComponentShown(ComponentEvent e)addFocusListener(FocusListener Listener)FocusGained(

39、FocusEvent e)FocusLost(FocusEvent e)School of Computer Science and Technology ContainerEventContainerEvent行为:添加、移动组件等行为:添加、移动组件等接口名:接口名:ContainerListenerContainerListener注册方法:注册方法:监听器接口所提供的事件方法:监听器接口所提供的事件方法:AdjustmentEventAdjustmentEvent行为:调节滚动条或滑块等行为:调节滚动条或滑块等接口名:接口名:AdjustmentListenerAdjustmentLi

40、stener注册方法:注册方法:监听器接口所提供的事件方法:监听器接口所提供的事件方法:addContainerListener(监听者)ContainerAdded(ContainerEvent e)ContainerRemoved(ContainerEvent e)addAdjustmentListener(监听者)AdjustmentValueChange(AdjustmentEvent e)School of Computer Science and Technology JavaJava针对大多数事件监听器接口定义了相应的实现类来实现接口针对大多数事件监听器接口定义了相应的实现类来实

41、现接口中的所有方法。中的所有方法。步骤:步骤:选择组件作为事件源,不同类型的组件会产生特定类型的事件,假选择组件作为事件源,不同类型的组件会产生特定类型的事件,假设该事件类型为设该事件类型为XXXEventXXXEvent;定义要接收并处理某种类型的事件,注册相应的事件监听器类,通定义要接收并处理某种类型的事件,注册相应的事件监听器类,通过调用组件方法向组件注册事件监听器。过调用组件方法向组件注册事件监听器。实现实现XXXListenerXXXListener类的实例对象,据此可作为事件的监听器对象。监类的实例对象,据此可作为事件的监听器对象。监听器的注册与注销如下:听器的注册与注销如下:ev

42、entsourceObject.addXXXListener(XXXListener Listener);public void addXXXListener(XXXListener listener);public void removeXXXListener(XXXListener listener);School of Computer Science and Technology 事件源通过实例化事件类激发并产生事件,事件将被传送给已注册事件源通过实例化事件类激发并产生事件,事件将被传送给已注册的一个或多个监听器。监听器在接收到激发事件信号后负责实现相应的一个或多个监听器。监听器在接收

43、到激发事件信号后负责实现相应的事件处理方法。的事件处理方法。以按钮组件作为事件源的简单范例以按钮组件作为事件源的简单范例 选择按钮组件作为事件源:选择按钮组件作为事件源:定义要接受并处理的事件定义要接受并处理的事件ActionEventActionEvent,通过下面的语句注册事件监,通过下面的语句注册事件监听器:听器:按下按钮组件按下按钮组件btonbton对象会产生一个对象会产生一个ActionEventActionEvent实例对象,事件源通实例对象,事件源通过实例化事件类激发事件并传送给已注册的监听器;过实例化事件类激发事件并传送给已注册的监听器;监听器对象监听器对象listenerl

44、istener所属的类所属的类MyActionListenerMyActionListener需通过方法需通过方法actionPerformedactionPerformed实现相应的接口以响应事件:实现相应的接口以响应事件:School of Computer Science and Technology KeyEventKeyEvent类在类在java.awt.eventjava.awt.event包中,提供的主要方法:包中,提供的主要方法:getKeyChargetKeyChar()():判断被按下的键的字符;:判断被按下的键的字符;getKeyCodegetKeyCode()():判断

45、哪个键被按下、点击或释放并获取其键码值。:判断哪个键被按下、点击或释放并获取其键码值。JavaJava语言的部分键码表语言的部分键码表School of Computer Science and Technology 简单键盘事件的使用简单键盘事件的使用 组件使用组件使用addKeyListeneraddKeyListener()()方法获得监视器。监视器是一个对象,创方法获得监视器。监视器是一个对象,创建该对象的类必然通过以下三种方法来实现接口:建该对象的类必然通过以下三种方法来实现接口:public void public void keyPressed(KeyEventkeyPresse

46、d(KeyEvent e);e);按下键盘上的某个键按下键盘上的某个键public void public void keyTyped(KeyEventkeyTyped(KeyEvent e);e);当键被按下又释放当键被按下又释放public void public void KeyReleased(KeyEventKeyReleased(KeyEvent e);e);释放键盘上的某个键释放键盘上的某个键 示例:将键盘输入字符的键码、名称和按键显示出来。示例:将键盘输入字符的键码、名称和按键显示出来。设置用来显示的面板:设置用来显示的面板:School of Computer Science

47、 and Technology注册键盘事件监听器注册键盘事件监听器允许面板获得焦点允许面板获得焦点对键盘事件进行响应(即实现接口方法)对键盘事件进行响应(即实现接口方法)School of Computer Science and Technology键盘释放时重绘窗口:键盘释放时重绘窗口:将将KeyPanelKeyPanel实例加入到容器中:实例加入到容器中:School of Computer Science and TechnologySchool of Computer Science and Technology 复合键盘事件的使用复合键盘事件的使用 KeyEventKeyEvent

48、类对象可调用类对象可调用getModifiersgetModifiers()()方法返回以下整数值:方法返回以下整数值:CTRL_MASKCTRL_MASKALT_MASKALT_MASKSHIFT_MASKSHIFT_MASK 以上是以上是InputEventInputEvent类的类常量,根据返回值对复合键事件做处理。类的类常量,根据返回值对复合键事件做处理。当使用当使用Ctrl+CCtrl+C复合键时,下面的逻辑表达式为真:复合键时,下面的逻辑表达式为真:示例:利用对组合键事件的响应来处理复制、剪切与粘贴示例:利用对组合键事件的响应来处理复制、剪切与粘贴对复制、剪切、粘贴的处理对复制、剪

49、切、粘贴的处理School of Computer Science and Technology窗口组件安放:窗口组件安放:School of Computer Science and Technology TextAreaTextArea或或TextFieldTextField信息发生改变时会触发信息发生改变时会触发TextEventTextEvent事件。需要事件。需要在程序中将在程序中将TextEventTextEvent事件注册给监听器事件注册给监听器TextListenerTextListener,并实现,并实现TextListenerTextListener接口中的接口中的text

50、ValueChangedtextValueChanged方法。方法。示例:改变示例:改变TextAreaTextArea中的文字,并在标签中回显中的文字,并在标签中回显 安放组件,并注册监听器:安放组件,并注册监听器:School of Computer Science and Technology 响应文本事件(即实现接口方法)响应文本事件(即实现接口方法)School of Computer Science and Technology MouseListenerMouseListener 触发鼠标事件的四种操作:触发鼠标事件的四种操作:鼠标指针进入组件或退出组件鼠标指针进入组件或退出组件

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Java软件设计基础课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|