- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
图形用户界面概述用户自定义成分Java的事件处理GUI标准组件概述标签、按钮与动作事件文本框、文本区域与文本事件单、复选按钮,列表与选择事件滚动条与调整事件画布与鼠标、键盘事件布局设计Panel与容器事件Frame与窗口事件菜单的定义与使用对话框、组件事件与焦点事件第7章图形用户界面的设计与实现
在Java语言中,为了支持图形用户界面的开发,设计了类库java.awt包来生成各种标准图形界面元素和处理图形界面的各种事件。AWT是abstractwindowtoolkit(抽象窗口工具集)的缩写。01图形用户界面概述02
图形用户界面的构成:图形用户界面是一组图形界面成分和界面元素的有机组合,这些成分和元素之间不但外观上有着包含、相邻、相交等物理关系,内在的也有包含、调用等逻辑关系,它们互相作用、传递消息,共同组成一个能响应特定事件、具有一定功能的图形界面系统。
设计和实现图形用户界面的工作主要两个:创建组成界面的各元素,指定它们的属性和位置关系,构成完整的图形用户界面的外观。定义图形用户界面的事件和各界面元素对不同事件的响应,实现与用户的交互。Java中构成图形用户界面的各种元素和成分有三类:容器、控制组件和用户自定义成分。0102
容器是用来组织其他界面成分和元素的单元。一个应用程序的图形用户界面首先对应于一个复杂的容器,如一个窗口。利用容器有利于分解图形用户界面的复杂性,当界面的功能较多时,可以使用嵌套的容器。02011.容器
控制组件控制组件是图形用户界面的最小单位之一,它里面不再包含其他的成分。控制组件的作用是完成与用户的一次交互,包括接收用户的一个命令(如菜单命令),接收用户的一个文本或选择输入,向用户显示一段文本或一个图形,等等。
使用控制组件的步骤:创建某控件类对象,指定属性。使用某种布局,将该控件对象加入到某容器中的指定位置。将该组件对象注册给它所能产生的事件对应的事件监听者,重载事件处理方法,实现利用该组件对象与用户交互的功能。实际上,容器也是一种控件,因为一个容器也可以被视为组件而包含在其他容器的内部。
用户自定义成分绘制几何图形、使用标志图案等。用户自定义成分不能被系统识别和承认,通常只能起到装饰、美化的作用,而不能响应用户的动作,也不具有交互功能。
Graphics是java.awt包中一个类,包含绘制图形和文字的方法。当一个Applet运行时,执行它的浏览器自动为它创建一个Graphics实例,利用这个实例,可在Applet中随意绘制图形和文字。若需在图形界面的JavaApplication程序中绘制图形,则需创建一个Canvas类的对象加入到该Application程序的图形界面容器中,Canvas对象也有一个与Applet类的paint()方法相同的paint()方法,利用系统传递给这个paint()方法的Graphics类参数对象就可以在Application程序的图形用户界面中绘制各种图形和文字。7.2用户自定义成分
7.2.1绘制图形利用Graphics类可绘制的图形有直线、各种矩形、多边形、圆和椭圆等。例7-1UsedDrawFigures.javaimportjava.awt.*;import;publicclassUsedDrawFiguresextendsApplet{publicvoidpaint(Graphicsg){g.drawLine(30,5,40,5);//画直线g.drawRect(40,10,50,20);//画矩形框(左上角x坐标,左上角y坐标,x轴尺寸,y轴尺寸)g.fillRect(60,30,70,40);//画实心矩形g.drawRoundRect(110,10,130,50,30,30);//画圆角矩形框g.drawOval(150,120,70,40);//画椭圆形框(左上角x坐标,左上角y坐标,x轴尺寸,y轴尺寸),//若x轴尺寸与y轴尺寸相等,则画出圆形
g.fillOval(190,160,70,40);//画实心椭圆 g.drawOval(90,100,50,40);//画椭圆框 g.fillOval(130,100,50,40);//画实心椭圆 drawMyPolygon(g);//自定义的画多边形的方法 g.drawString(Theyarefigures!,100,220); } publicvoiddrawMyPolygon(Graphicsg) { int[]
文档评论(0)