- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第16讲 图形用户界面㈡ 布局管理器 事件驱动设计 AWT高级组件(一) 教学目标 掌握布局管理器的使用 理解事件驱动机制 掌握事件驱动设计方法 掌握AWT高级组件的应用 布局管理器 在前面课程的学习中,经常会发生这样的情况,当将很多的组件放在容器里面的时候,这些组件摆放将很凌乱,有时候甚至看不见部分组件。这是因为没有对这些组件进行布局管理。 AWT提供了5个类来对容器页面进行管理,它们均直接继承自java.lang.Object类。 FlowLayout(流式布局) BorderLayout (边界布局) GridLayout(网格布局) CardLayout (多层/卡片布局) GridBagLayout(动态网格布局) 布局管理器 -FlowLayout FlowLayout是Applet和Panel容器的默认布局管理器,它按照从上到下、从左到右的规则,将添加到容器中的组件依次排列,默认情况下每行组件均居中排列。 自动调用组件的getPreferredSize()方法,使用组件的最佳尺寸来显示组件。 FlowLayout的构造函数: FlowLayout( ):居中对齐方式,组件间的水平和竖直间距为缺省值5个象素。 FlowLayout(int alignment):可以设定每一行组件的对齐方式 FlowLayout(int alignment,int horz,int vert):可以设定组件间的水平和垂直距离 FlowLayout示例 布局管理器 -BorderLayout BorderLayout是Windows及其子类Frame的默认布局管理器,它将容器分为5个部分,分别命名为NORTH、SOUTH、WEST、EAST和CENTER。 下面是BorderLayout所定义的构造函数: BorderLayout( ):生成默认的边界布局 BorderLayout(int horz,int vert):设定组件间的水平和垂直距离 用add()方法往容器中添加组件时必须指明添加的位置,若没有指明放置位置,则表明为默认的“Center”方位。 若每个区域或若干个区域没有放置组件,东西南北区域将不会有预留,而中间区域将置空。 BorderLayout示例 布局管理器 -GridLayout GridLayout是一种很容易理解的布局管理器,它将容器按照指定的行数、列数分成大小均匀的网格,然后将添加到容器里面的组件一一放入。 GridLayout的构造函数如下所示: GridLayout():生成一个单列的网格布局 GridLayout(int row,int col):生成一个设定行数和列数的网格布局 GridLayout(int row,int col,int horz,int vert):可以设置组件之间的水平和垂直间隔 GridLayout示例 布局管理器 -CardLayout CardLayout是一种将每个组件看作一张卡片,且将所有卡片码成一摞,每一时刻只有一张卡片被显示的布局管理器。有人将其形象地描述为一副落成一叠的扑克牌。第一个添加到容器中的组件位于最低层,最后一个添加到容器中的组件位于最上层。请参考API文档熟悉CardLayout类的构造方法和常用方法。 布局管理器 -GridBagLayout GridBagLayout生成的布局管理器也是和GridLayout一样是使用网格来进行布局管理的。所不同之处在于GridBagLayout可以通过类GridBagConstraints来控制布局容器内各组件的大小,每个组件都使用一个GridBageConstraints对象来给出它的大小和摆放位置,这样就可以按照设计者的意图,改变组件的大小,把它们摆在设计者希望摆放的位置上。这种灵活性是前面几个布局管理器所不具备的。有关GridBageLayout布局管理器使用的详细情况参阅API文档。 容器的嵌套 实际应用中,可能将整个窗口分成很多小块,每一块包含几个组件,这些组件用一个容器来存放,然后再将这些小块容器添加到窗口对象中。AWT就提供了另外一个容器类Panel。可以在一个容器中添加几个Panel容器对象,每个Panel容器对象都可以指定不同的布局方式。 Panel示例 事件驱动设计 事件驱动设计 在窗口程序设计里,事件(event)的设计是不可或缺的一块。当按下按钮时,也就触发了“按钮被按”的事件,至于计算机要做什么样的反应,则是由程序代码来做判断与决定的。前面已经学会来怎样去绘制一个图形用户界面,但是还没有编写用户交互的代码。下面来认识一下Java的事件处理机制。 每发生一个事件,程序都需要作出相应的响应,这称为事件处理。 委派事件模型 事件处理机制的思想是:可能产
您可能关注的文档
- 九上数学《二次函数》专题——二次函数与多边形面积.ppt
- 典型晶体结构.pptx
- 汤姆索亚历险记阅读选择题.ppt
- 日清管理法全.ppt
- 考点三-影响光合作用的因素(练习).pptx
- 电力系统负荷计算.ppt
- 三年级英语字母教学.pptx
- 最新人教版四年级下册数学乘法和除法的简便运算.pptx
- 等高线的计算.ppt
- 大师级思维训练题-狮子过河.pptx
- 2024年秋季学期新人教PEP版英语三年级上册课件 Unit 1 PartB(1)Let’s talk & Look and match.pptx
- 2024年秋季学期新人教PEP版英语三年级上册课件 Unit 6 PartB(2) Let's learn.pptx
- 2024年秋新人教版八年级上册物理教学课件 5.2 生活中的透镜.pptx
- 2024年新人教版英语三年级上册 U3 B Start to read & C Project 教学课件.pptx
- 2024秋新人教版生物七年级上册课件 2.1.3 细胞的基本结构和功能(第3课时).pptx
- 2024年新人教版英语三年级上册课件 U5 B learn.pptx
- 2024年秋新Join In剑桥版(三年级起)英语三年级上册课件 Unit 5 第3课时(Language in use & Let’s do it!) .pptx
- 2024年秋新人教版八年级上册物理教学课件 1.1 长度和时间的测量.pptx
- 2024年秋新译林版三年级上册英语教学课件 Unit 8第1课时 Cartoon time.pptx
- 2024年新人教PEP版三年级上册英语教学课件 Unit 4 Part A 第1课时 .pptx
最近下载
- 2024-2025学年上学期长沙小学语文六年级期末模拟试卷.doc
- 2025年野生动物园行业调研分析报告.docx VIP
- 中国危重症患者肠内营养支持常见并发症预防管理专家共识解读课件.pptx
- 2024年中考数学复习 圆中的重要模型-圆中的翻折模型(原卷+答案解析).pdf VIP
- 小学语文新课标六年级《为人民服务》朱丽芳(1).pdf
- 专家答疑纪要—第1期:电力建设工程(建筑专业).doc
- 创建绿色施工环境保护台帐.doc VIP
- DB32_T2334.2—2013《水利工程施工质量检验与评定规范》第2部分:建筑工程.doc
- 2025届高考作文素材:人工智能与Deepseek+课件.pptx VIP
- 剑桥(join in)版小学英语五年级下册单元知识梳理总结(全册).pdf VIP
文档评论(0)