已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十一章、图形用户界面总论:本章学习图形界面的初步知识,包括图形界面的概述,容器类,布局管理器,辅助类,绘图等知识点。1、图形界面的概述Java中有两个包负责图形界面的构建:swing和awt。awt包中的类主要是调用当前操作系统的组件来实现GUI编程,特点是速度快,但是跨平台性很差,称为重型组件。swing包中的类主要是模拟组件来实现GUI编程,由于是模拟组件,所以他的速度较慢,但跨平台性很好.称为轻型组件,swing包的类都以J开头,以示和awt包中的类进行区分 2、GUI类分为三组:容器类(Jframe、jpanel、jdialog)、组件类(Jbutton、jlabel)和辅助类(Font、graphics、color、dimension、fontmetrics)这些类都是java设计人员精心设计的类,供我们直接使用。3、所有图形界面组件的关系如下:Awt中的component类是所有swing和awt类的根类Awt中的container类是所有容器类的根类Swing中的所有组件类(组件)均继承自jcomponent类Object辅助类ComponentContainerLayoutmanagerWindows和panelJcomponentJframeJappletJdialog红色区域为awt包,粉色区域为swing包辅助类和component类一样,继承自object,属于awt包第一节.容器类与布局管理器1、容器,即可以盛放其他组件的组件。主要有如下几个:l Container:一个容器类,他的实例常用作接受其他的容器引用。l Jframe:框架(窗体),类似于Windows系统中的窗口。l Jdialog:用来设计对话框。2、JFrame类该类的对象即是一个窗口,其构造方法可以带参数(窗体名字),也可以不带参数。该类有一系列的方法可以调用。见下例:例子:JFrame的基本用法(1) 生成一个窗口(2) 能够关闭生成的窗口(3) 让窗口居中(4) 加上一个按钮(5) 窗口和按钮上的文字l 所有的图形界面类都是先生成对象,然后通过对象的方法来设置界面l 每个类方法众多,记住最常用的,知道有其他的,边用边学。要随时查看API手册。l 本例子的方法有:设置大小,添加组件,删除组件,设置位置,关闭窗口等l Dimension是一个类,用来把一个对象的高和宽封装到一个Dimension对象中l Toolkit是一个工具类,能够提供一系列的方法。这里获得屏幕尺寸l 课本上添加组件的方法3.布局管理器(1)布局是Java中用来控制组件排列位置的一种界面管理系统。Java界面设计没有提供所见即所得的设置组件坐标的方法(netbeans可以做到所见即所得)。 Java本身提供的布局管理系统来完成组件布局的任务,而且在跨平台时表现得更有优势。(2)先创建一个布局实例,然后使用setLayout方法把该布局实例和某个容器绑定到一起,这样该容器就拥有这种布局方式了。FlowLayout layout=new FlowLayout(LlowLayout.LEFT,10,20)container.setLayout(layout)第一句话是生成一个布局管理器对象,他规定了界面如何布局第二句话是给某个容器添加该布局管理器对象,这样该容器就具有这种布局了。上式我们可以简洁写成:container.setLayout(new FlowLayout(LlowLayout.LEFT,10,20) )设置好布局后,那么在往该容器组件上添加组件就会按照布局的设定的添加。(3)常用的布局有: FlowLayout布局:只需要把组件加入到FlowLayout中,FlowLayout就会根据你添加组件的顺序依次放置组件,如果空间不够,会自动换行。该布局有三个常量来指定组件的对齐方式:FLOWLayout.RIGHT、FLOWLayout.CENTER和FLOWLayout.LEFT。此外还有三个构造方法:Public FLOWLayout(int align,int hGap,int vGap)该方法根据指定的对齐方式、水平间距和垂直间距构造一个新的FLOWLayout对象,间距的单位是像素。Public FLOWLayout(int align)只是指定的对其方式,水平和垂直间距默认为5像素Public FLOWLayout()没有任何指定,则对齐方式默认居中,水平和垂直间距默认为5像素例子:ShowFlowLayoutGridLayout:将用户界面切割为棋盘一样的布局管理系统。如果我们要设计一个类似于Windows中自带的计算器软件,GridLayout无疑是最佳选择。 其构造方法:Public GridLayout(int rows,int clolumns,int hGap,int vGap)该方法根据指定的行数和列数来构造安排对象,但是行列不可同时为0如果行列其一为0,那么不为零的固定,为零的由布局管理器动态的决定,如果行列均不为零,那么行是主要参数,列会动态决定。若没有水平和垂直参数则默认为0,若没有行列参数则默认一行。例子:GridLayOutBorderLayout:将界面分割为上下左右以及中间一块区域的管理系统,在BorderLayout布局中,最多你只能放5个组件,如果超过5个组件,建议还是选用其他的布局系统可以使用add(componet,index)方法把组件添加到布局管理器中,其中index是一个常量有:BorderLayout.EAST,SOUTH,WEST,NORTH,CENTER五个。构造方法两个:Public BorderLayout(int hGap,int vGap)Public BorderLayout()例子:BorderLayOut第二节.面板和在面板上绘图一些较为复杂的界面用上述的布局管理器很难完成,需要配合JPanel容器才可以做到1、JPanel类:面板,一种容器,不可见,可以盛放其他组件,一般我们把面板放到窗体上,然后把其他组件放到面板上,这样可以做出复杂的界面。例子:TestJPanel2、在JPanel上绘图JPanel除了可以作为容器,还可以在其上绘图。JPanel有一个paintComponent方法,该方法提供了画笔类(Graphics),拿到画笔我们就可以绘图了例子:drawl 继承了JPanel类,那么就可以重写他的paintComponent方法。在该方法里提供了画笔,我们利用画笔的各种方法来绘图。l 绘图方法有n g.drawString(你好, 40, 40);画出一个字符串,提供参数字符串和字符串的出现位置。n g.drawLine(20, 20, 40, 40);画一条直线,提供参数直线的起点和终点n g.drawOval(50, 50, 10, 10);画一个圆或者椭圆,提供参数圆的邻接矩形的左上角坐标,和高宽。n g.drawRect(10, 10, 20, 20);画一个矩形,提供参数矩形的左上角点的坐标和矩形的高宽。n g.drawArc(150, 100, 50, 50, 0, 90);画一个弧,提供参数和圆一样,只是多了两个弧度参数即起始角和生成角的弧度。n g.drawPolygon(x, y, 4);画一个多角形,提供参数多角形顶点的坐标数组和顶点个数。l 还可以画出有填充色的图形n g.fillOval(80, 80, 50, 50);画一个带有填充色的圆draw画出的图形都没有填充色,fill画出的都有l 以上画图颜色都是黑色,即默认色,可以设置画笔颜色g.setColor(Color.red);Color是一个辅助类,显示颜色。以后讲第三节.辅助类辅助类包括字体,颜色等设置。如下:(1) 颜色类Color使用java.awt.color类为GUI组件设置颜色,颜色表示可以用三原色分量表示,即r,g,b三个原色取值范围是0255,任意组合构成一中颜色。也可以用一些常量来表示:共13种(black,blue,cyan,darkGray,gray,green,lightGray,magenta,orange,pink,red,white,yellow)。下面例子分别使用了两个方法设置颜色:ColorDemo.java(2) 字体类Font使用java.awt.font类创建并使用字体对象,该类构造方法是Font(String fontName, int fontStyle, int pointSize)在这里,参数fontname指定了希望使用的字体的名字。这个名字既可以是逻辑名也可以是外形名。所有的Java环境都将支持如下的字体:Dialog, DialogInput, Sans Serif, Serif,Monospaced, 以及 Symbol。Dialog是你的系统对话框使用的字体。如果你不明确的指定字体,Dialog也是默认的字体。你也可以用任何其他被你的特殊环境支持的字体,但是请小心,这些字体未必都是可用的。字体的样式是由参数fontstyle 指定的。它可以由Font.PLAIN, Font.BOLD以及Font.ITALIC这三个常量中的一个和多个组成。为了结合各种样式,可以把它们用or连接在一起。例如,Font.BOLD | Font.ITALIC指定了一个由粗体和斜体组成的样式。以磅为单位的字体,大小由pointsize指定。为了使用你创建的字体,你必须通过调用setFont( )方法来选择该字体例子:FontDemo(3) Dimension类Dimension 类将组件的宽度和高度封装在一个单个对象中实践为了让大家练习图形界面的制作,从本节课开始,我们以连连看游戏的界面为目标,做一个类似的界面。今天先做一部分,后面随着课程的深入逐步改进,直到完成这个界面,但是游戏功能不具体实现连连看游戏界面如下:由于容器组件中可以放置其他组件,因此,我们只需要先确定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路运输物资调度主任的工作规划及执行
- 三年(2023-2025)湖南中考语文真题分类汇编:专题03 文化文学常识(解析版)
- 国家电网变电检修主管面试解析
- 介绍藕粉圆子的演讲稿
- 党课:坚守师德底线 赋能学校高质量发展
- 装备工作演讲稿标题
- 称赞张桂梅的演讲稿
- 演讲稿生命的绿色故事
- 恐龙宝贝主题曲演讲稿
- 2026年中级经济师《保险专业知识与实务》题库(含答案解析)
- 冷却塔水泵机组更换施工方案
- 2026年及未来5年中国公务员培训行业市场调查研究及发展趋势预测报告
- 昏迷恢复量表CRS-R使用指南
- Premiere题库资料完整版
- 2025年南京铁道职业技术学院单招真题及答案详解
- 2026年黑龙江农业工程职业学院单招职业倾向性测试题库附答案解析
- 医院中层干部选拔任用工作方案
- 2026年佳木斯职业学院单招综合素质笔试备考题库带答案解析
- 2026年设计师雇佣合同协议书
- 建材销售油漆合同范本
- 浙江国企招聘-2025年绍兴杭绍临空示范区开发集团有限公司工作人员招聘14人(公共基础知识)综合能力测试题附答案
评论
0/150
提交评论