欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    JAVA程序员培训定制课程c10.ppt

    • 资源ID:5373886       资源大小:195.51KB        全文页数:33页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA程序员培训定制课程c10.ppt

    第十章,GUI应用程序设计,2,本章内容,Java抽象窗口工具集(AWT)Java组件和容器常用组件类型布局管理器及其使用,3,抽象窗口工具集(AWT),AWT-AbstractWindow Toolkit GUI-Graphical User InterfaceAWT中定义了多种类和接口,用于在Java Application/Applet中进行GUI设计java程序要显示的GUI组件必须是抽象类Component或MenuComponent的子类,4,java.awt 包,java.awt包提供了基本的java程序GUI设计工具。Component/MenuComponentContainerLayoutManager,5,组件(Component),Java的图形用户界面的最基本组成部分是组件,组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。,6,容 器(Container),容器(Container)实际上是Component的子类,因此容器类对象本身也是一个组件,具有组件的所有性质,另外还具有容纳其它组件和容器的功能。容器类对象可使用方法add()添加组件两种主要的容器类型Window:可自由停泊的顶级窗口Panel:可作为容器容纳其它组件,但不能独立存在,必须被添加到其它容器中(如Window 或 Applet),7,组件定位,Java组件在容器中的位置和尺寸由布局管理器决定如要人工控制组件在容器中的大小位置,可取消布局管理器,然后使用Component类的下述成员方法:setLocation()setSize()setBounds(),8,Frame类,Frame类是抽象类Window的子类Frame对象显示效果是一个“窗口”,带有标题和尺寸重置角标默认初始化为不可见的,可使用setVisible(true)方法使之变为可见默认的布局管理器是BorderLayout可使用setLayout()方法改变其默认布局管理器,9,Frame类继承层次,java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-java.awt.Window|+-java.awt.Frame,10,Frame 应用举例,import java.awt.*;public class TestFrame public static void main(String args)Frame f=new Frame(My First Test);f.setSize(170,100);f.setBackground(Color.blue);f.setVisible(true);,11,Panel类,提供容纳组件的空间 可以采用和所在容器不同的布局管理器 Panel类的继承层次,java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-java.awt.Panel,12,FrameWithPanel应用举例,import java.awt.*;public class TestFrameWithPanel public static void main(String args)Frame f=new Frame(MyTest Frame);Panel pan=new Panel();f.setSize(200,200);f.setBackground(Color.blue);f.setLayout(null);/取消布局管理器 pan.setSize(100,100);pan.setBackground(Color.green);f.add(pan);f.setVisible(true);,13,Ex1,练习M10-10、12页Frame与Panel组件的使用,对使用AWT组件创建图形用户界面机制建立初步认识;,14,布局管理器,为了使我们生成的图形用户界面具有良好的平台无关性,Java语言中,提供了布局管理器这个工具来管理组件在容器中的布局,而不使用直接设置组件位置和大小的方式。每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。,15,容器布局(Container Layouts),FlowLayout BorderLayout GridLayout CardLayout GridBagLayout,16,默认布局管理器,Component,Container,Window,Panel,Frame,Dialog,Applet,BorderLayout,FlowLayout,17,FlowLayout布局管理器,FlowLayout是Panel类的默认布局管理器FlowLayout布局对组件逐行定位,行内从左到右,一行排满后换行默认对齐方式为居中对齐不改变组件的大小,按组件原有尺寸显示组件 可在构造方法中设置不同的组件间距、行距及对齐方式,18,FlowLayout 举例,import java.awt.*;public class TestFlowLayout public static void main(String args)Frame f=new Frame(Flow Layout);Button button1=new Button(Ok);Button button2=new Button(Open);Button button3=new Button(Close);f.setLayout(new FlowLayout();f.add(button1);f.add(button2);f.add(button3);f.setSize(100,100);f.setVisible(true);,19,FlowLayout 的构造方法,new FlowLayout(FlowLayout.RIGHT,20,40);右对齐,组件之间水平间距20个像素,竖直间距40个像素;new FlowLayout(FlowLayout.LEFT);左对齐,水平和竖直间距为缺省值:5;new FlowLayout();使用缺省的居中对齐方式,水平和竖直间距为缺省值:5;,20,BorderLayout 布局管理器,BorderLayout是Frame类的默认布局管理器BorderLayout将整个容器的布局划分成东、西、南、北、中五个区域,组件只能被添加到指定的区域如不指定组件的加入部位,则默认加入到Center区域每个区域只能加入一个组件,如加入多个,则先前加入的组件会被遗弃,21,BorderLayout 布局管理器,BorderLayout型布局容器尺寸缩放原则北、南两个区域只能在水平方向缩放(宽度可调整)东、西两个区域只能在垂直方向缩放(高度可调整)中部可在两个方向上缩放,North,South,West,Eest,Center,22,BorderLayout举例,import java.awt.*;public class TestBorderLayout public static void main(String args)Frame f;f=new Frame(Border Layout);Button bn=new Button(BN);Button bs=new Button(BS);Button bw=new Button(BW);Button be=new Button(BE);Button bc=new Button(BC);f.add(bn,North);f.add(bs,South);f.add(bw,West);f.add(be,East);f.add(bc,Center);f.setSize(200,200);f.setVisible(true);,23,GridLayout 布局管理器,GridLayout型布局管理器将布局划分成规则的矩形网格,每个单元格区域大小相等.组件被添加到每个单元格中,先从左到右添满一行后换行,再从上到下.在GridLayout构造方法中指定分割的行数和列数.new GridLayout(3,4);,24,GridLayout举例,import java.awt.*;public class TestGridLayout public static void main(String args)Frame f=new Frame(GridLayout Example);Button b1=new Button(b1);Button b2=new Button(b2);Button b3=new Button(b3);Button b4=new Button(b4);Button b5=new Button(b5);Button b6=new Button(b6);f.setLayout(new GridLayout(3,2);f.add(b1);f.add(b2);f.add(b3);f.add(b4);f.add(b5);f.add(b6);f.pack();f.setVisible(true);,25,*CardLayout 布局管理器,CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,就好象一叠卡片摞在一起。注意:在一张卡片中只能显示一个组件,因此可以使用容器嵌套方法显示多个组件。/非考试内容,但实际项目开发有时会用。,26,*GridBagLayout 布局管理器,AWT中最灵活、最复杂的布局管理器,各组件所占空间可以不相同且灵活规定,参见中文参考书;非考试内容,很少用,实际项目开发做界面时可能会用到。,27,容器的嵌套使用举例,import java.awt.*;public class NestedContainer public static void main(String args)Frame f=new Frame(NestedContainer);Button b0=new Button(display Area);Panel p=new Panel();p.setLayout(new GridLayout(2,2);Button b1=new Button(1);Button b2=new Button(2);Button b3=new Button(3);Button b4=new Button(4);p.add(b1);p.add(b2);p.add(b3);p.add(b4);f.add(b0,North);f.add(p,Center);f.pack();f.setVisible(true);,28,Ex2 布局管理器,参照M10-18页的例子练习使用FlowLayout布局管理器,要求在布局管理器的构造方法中尝试设置不同的对齐方式并显式指定组件的水平和竖直间距;参照M10-22页的例子练习使用BorderLayout布局管理器,试验不指明加入位置f.add(bs);以及向同一位置加入多个组件的实际效果;参照M10-24页的例子练习使用GridLayout布局管理器,尝试在声明为2*3个GridLayout网格的Frame中加入多于或少于6个组件时程序的运行表现;,29,布局管理器总结(1),FrameFrame是一个顶级窗口。Frame的缺省布局管理器为BorderLayout。PanelPanel无法单独显示,必须添加到某个容器中。Panel的缺省布局管理器为FlowLayout。当把Panel作为一个组件添加到某个容器中后,该Panel仍然可以有自己的布局管理器。因此,可以利用Panel使得BorderLayout中某个区域显示多个组件。,30,布局管理器总结(2),在程序中安排组件的位置和大小时,应注意:容器中的布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用Java语言提供的setLocation(),setSize(),setBounds()等方法,则都会被布局管理器覆盖。如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:setLayout(null);,31,AWT 绘图,可以在任何Java组件上绘图(通常Canvas和Panel组件更适合用于绘图)每个Java组件都有一个public void paint(Graphics g)方法专门用于绘图目的,每次重画该组件时都自动调用paint方法。每个Java组件都有一个Graphics类型的属性,该属性(对象)真正完成在相应组件上的绘图功能。Graphics类中实现了许多绘图方法:-绘制边框(非填充图形)-填充特定区域-绘制其它形状图形,32,AWT 绘图举例,import java.awt.*;public class AWTDrawing private Frame f=new Frame(Hello Out There!);private Panel p=new Panel();public void launchFrame()f.add(p);f.setSize(170,170);f.setBackground(Color.blue);f.setVisible(true);p.setForeground(Color.red);Graphics g=p.getGraphics();g.drawArc(30,40,50,60,70,80);g.fillArc(30,40,50,60,70,80);public static void main(String args)AWTDrawing guiWindow=new AWTDrawing();guiWindow.launchFrame();,33,AWT 绘图举例,import java.awt.*;class SubPanel extends Panelpublic void paint(Graphics g)g.drawString(this is a drawing test!,20,20);g.drawLine(30,60,100,120);g.draw3DRect(60,50,70,30,false);public class AWTDrawing2 private Frame f=new Frame(Hello Out There!);private SubPanel p=new SubPanel();public void launchFrame()f.add(p);f.setSize(170,170);f.setBackground(new Color(89,145,145);f.setVisible(true);public static void main(String args)AWTDrawing2 guiWindow=new AWTDrawing2();guiWindow.launchFrame();,

    注意事项

    本文(JAVA程序员培训定制课程c10.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开