图形用户界面设计

上传人:无*** 文档编号:247337071 上传时间:2024-10-18 格式:PPT 页数:107 大小:2.71MB
返回 下载 相关 举报
图形用户界面设计_第1页
第1页 / 共107页
图形用户界面设计_第2页
第2页 / 共107页
图形用户界面设计_第3页
第3页 / 共107页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java的图形用户界面,*,4,图形用户界面设计,1,Java的图形用户界面,主要内容,Java,的,GUI,简介,自定义图形设计,图形、文字、图象,Java,的标准组件,容器和组件,GUI,的布局,事件处理,2,Java的图形用户界面,图形用户界面(GUI),字符界面,用字符串、命令行的方式与用户交互,图形用户界面:,Graphics User Interface,用直观的图形来表示数据,用直观、方便的,GUI,标准组件来接收命令,GUI,组成成分的标准化,使用图形的方式借助菜单、按钮等标准界面元素和鼠,标操作,来帮助用户方便地向计算机系统发出命令,,启动操作,并将系统运行的结果同样以图形的方式显,示给用户。,3,Java的图形用户界面,用户界面设计原则,控制权在用户,界面与操作的风格一致性,宽容(容错)性,简洁与美观并重,4,Java的图形用户界面,图形用户界面简介,图形用户界面的构成,容器:布局、安排,标准组件,用户自定义成分,设计&实现图形用户界面的工作,创建,GUI,各组成成分,并安排从属位置关系,根据具体需要对其进行排序,构成完整外观。,定义,GUI,各成分对不同事件的响应,实现与用户的交互功能。,5,Java的图形用户界面,界面构成,容器,用户自定义成分,容器是用来组织其他界面成分和元素的单元。一般一个图形用户界面对应一个复杂容器。如一窗口,标准组件是图形用户界面的最小单位,它里面不再包含其他的成分。如单选按钮,文本框,菜单,用户自定义成分是指编程人员根据用户需要设计一些用户自定义的图形界面成分。如绘制几何图形,标准,组件,6,Java的图形用户界面,界面元素,容器是用来组织其他界面成分和元素的单元。,可以形成容器的层次,构筑复杂结构,Window,(,Frame,、Applet、,Dialog,),组件是图形用户界面的基本单位,它里面不再包含其他的成分。,GUI,组件是图形用户界面标准化的结果。常用的组件有,:,选择类的,:,单选按钮、复选按钮、下拉列表;,文字处理类的,:,文本框、文本区域,命令类的,:,按钮、菜单等,GUI,组件的作用是完成与用户的交互。包括接收用户的命令、文本或选择输入,向用户显示一段文本或一个图形等。,7,Java的图形用户界面,界面元素,使用组件通常需要如下的步骤,创建某组件类的对象,指定其大小等属性。,使用某种布局策略,将该组件对象加入到某个容器中的某指定位置处。,将该组件对象注册给它所能产生的事件对应的事件监听者,重载事件的处理方法,实现利用该组件对象与用户交互的功能。,用户自定义成分,显示文字、绘制图形、显示图象,不能像标准组件一样被系统识别和承认,只起装饰作用。,不能响应用户的动作,不具有交互功能。,8,Java的图形用户界面,图形用户界面(GUI),Java,的图形用户界面编程:,为方便图形用户界面的开发,设计了专门的类库 来生成各种标准图形界面元素和处理图形界面的 各种事件,这个用来生成图形界面的类库就是,java.awt,包。,AWT,是abstract window toolkit抽象窗 口工具集的缩写。,AWT类库中的各种操作被定义在一个窗口中进行,开发人员用AWT开发出的图形用户界面可以适用于所有的平台系统。,9,Java的图形用户界面,AWT包,Abstract Window Toolkit(,抽象窗口工具,集,),提供各种构成,GUI,的标准构件。,AWT,类库中的各种操作被定义在一个窗口中进行的。,抽取不同软硬件平台中所实现的窗口的公共特性。,依赖于具体平台系统实现:显示效果可能不同。,提供与机器无关的基本,GUI,标准组件,选择类组件:单选按钮、复选框、下拉选单、,列表框,文字处理类组件:标签、文本框、编辑框。,命令类组件:按钮、工具栏、菜单等。,10,Java的图形用户界面,从一个简单窗口开始,创建,GUI,应用程序,Frame,必不可少,它是带标题的顶层窗口,是构建应用程序图形界面的基础,它为应用程序实现人机交互提供了对话窗口,先来建一个空的窗口应用:,Empty.java,注意:一定要处理关闭窗口的事件,11,Java的图形用户界面,import java.awt.*;,/must import to use GUI,/must extends Frame in an application,public class Empty,extends Frame,/,暂时采用,1.0.2的事件处理方法,关闭窗口,public boolean,handleEvent,(Event evt),/,根据,Event,类中参数,evt,的,id,值来判断发生事件的种类,if(evt.id=Event.WINDOW_DESTROY),System.exit(0);,/,return,的返回值表示将余下的事件处理交给,handleEvent(),的父,/,类处理,从而保证对事件的正常处理,return super.handleEvent(evt);,public static void main(String args),Frame f=,new Empty(),;,f.,setSize,(300,200);,f.,setVisible,(true);,12,Java的图形用户界面,绘制用户自定义成分,用户自定义成分属于构成,GUI,的非标准部分,无法响应用户事件,一般仅仅起背景装饰、输出效果突出的作用,Java,中的用户自定义成分,显示文字,绘制图形,显示图片,13,Java的图形用户界面,绘制用户自定义成分,一般在容器中(窗口)或画布上绘制。,利用,Java.awt,类库中的类及其方法绘制用户自定义的图形界面成分。,Graphics,类包含很多绘制图形和文字的方法。,首先要获得,Graphics,类的实例,然后利用其方法绘制。,Graphics,类的实例一般作为相关方法的参数传递进来:,paint(Graphics g),Java,程序图形界面的,坐标设置,原点(0,0),X轴,Y轴,14,Java的图形用户界面,绘制图形及其相关方法,drawLine(x1,y1,x2,y2)/,直线,drawRect(x,y,w,h)/,矩形,drawOval(x,y,w,h)/,圆或椭圆,fillOval(x,y,w,h)/,实心圆或椭圆,drawPolygon(X,坐标数组,,Y,坐标数组,顶点个数),/画多边形,drawArc,(x,y,w,h,开始角度,弧度角度),setColor(Color c)/,设置颜色,setFont(Font f)/,设,置字体,getColor(),getFont(),15,Java的图形用户界面,绘制图形及其相关方法,从(,x1,y1,),到(,x2,y2),画直线,drawLine(x1,y1,x2,y2),参数均为,int,画弧线,drawArc(x,y,w,h,),参数均为,int,x,y,为绘制弧形的左上角的坐标;,w,h,为弧形的宽度和高度;,为弧形的起始角,为弧形的弧度,为正,表顺时针方向;为负,表逆时针方向。,以(,x,y),为左上角、,w,为宽度、,h,为高度画矩形,drawRect(x,y,w,h),参数均为,int,fillRect(x,y,w,h),、clearRect(,x,y,w,h,),16,Java的图形用户界面,绘制图形及其相关方法,画圆或椭圆,drawOval(x,y,w,h),x,y,为绘制圆或椭圆的左上角的坐标,,,w,h,确定了 椭圆的宽度和高度,画实心圆或椭圆,fillOval(x,y,w,h),画多边形,drawPolygon(X,坐标数组,,Y,坐标数组,,顶点,个数),P.185,17,Java的图形用户界面,绘制图形及其相关方法,例子:,sanmao.java,18,Java的图形用户界面,/画头部,椭圆方法,drawOval,g.setColor(Color.black);,/setColor,用来设置要使用的颜色,g.drawOval(40,40,120,150);,.,/,画头发,直线方法,drawLine,画弧方法,drawArc,g.drawLine(100,10,100,60);,g.,drawArc,(110,20,100,80,90,90);,.,/,画嘴巴,填充画弧方法,fillArc,g.,fillArc,(60,130,80,40,180,180);,.,/,画耳朵,填充椭圆方法,fillOval,复制图形方法,copyArea,g.fillOval(25,92,15,30);,g.,copyArea,(25,92,15,30,136,0);,/,拷贝某区域的图形至另一区域,.,/,画身体,多边形方法,fillPolygon,g.,fillPolygon,(polygon_x,polygon_y,polygon_pt_num);,19,Java的图形用户界面,显示文字,字体显示效果类:,Font,一个,Font,类的对象表示了一种字体显示效果,包括字体类型、,风格,和字号。,Font mf=new Font(String,字体,int 风格,int 字号,);,字体:,TimesRoman,Courier,Arial,等,风格:三个常量,Font.PLAIN,Font.BOLD,Font.ITALIC,字号:字的大小(磅数),设置当前使用的字体:,setFont(Font fn),获取当前使用的字体:,getFont(),例:,UseFonts.java,20,Java的图形用户界面,String FontName=TimesRoman,Courier,Arial;,int FontStyle=Font.PLAIN,Font.BOLD,Font.ITALIC;,String StyleName=PLAIN,BOLD,ITALIC;,public void paint(Graphics g),for(int i=0;i3;i+),for(int j=0;j1),/,双击时清除向量中各点,m_vLocs.removeAllElements();,else,/,单击时在向量中增加一点,m_vLocs.addElement(e.getPoint();,repaint();,/,重新绘制一次,class move extends MouseMotionAdapter,/,鼠标移动监听者类,public void mouseMoved(MouseEvent e),/,响应移动,m_CursorLoc=new Point(e.,getX,(),e.,getY,();,repaint();,/,重新绘制一次,69,Java的图形用户界面,事件类,ActionEvent,类:属于动作事件,包括:点击按钮;双击一个列表中的选项;选择菜单项;在文本框中按回车。最典型的例子是:鼠标点击按钮所产生的事件,经,ActionListener,接口触发一连串动作,再由,actionPerformed(),方法,完成这些动作。,e.getSource(),返回事件发生的对象(名),e.getActionCommand(),返回按扭名(动作事,件的命令字符串)。,ActionListener,接口,public void actionPerformed(ActionEvent e),70,Java的图形用户界面,图形用户界面例,import java.awt.*;,import java.awt.event.*;,public class a ,public static void main(String args),MyFrame form1=new MyFrame();,class MyFrame extends Frame ,MyFrame(),super(,窗口标题);,setSize(20
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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