欢迎来到天天文库
浏览记录
ID:27645413
大小:1.23 MB
页数:82页
时间:2018-12-05
《《工学jaa学习》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter5Java的图形用户界面主要内容:创建窗体,使用组件设计界面,管理布局绘制图形事件编程等重点掌握图形用户界面应用程序的设计方法和编程技巧。GUI图形用户界面(GUI)使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便的向计算机系统发出命令,并将系统运的结果以图形的方式显示给用户。GUI设计设计包括良好的业务逻辑和表现层。用户界面设计的一般性原则包括:用户熟悉、一致性、意外最小化、可恢复性、用户指南、用户差异性等。现在计算机用户认可的图形用户界面主要特征,主要集中在窗口、图标、菜单、指点、图形等方面。Java与GUIjava.
2、awt包称为抽象窗口工具集AWT(AbstractWindowToolkit),是使用Java进行GUI设计的基础javax.swing包Swing组件存放在javax.swing包中。几乎所有AWT组件对应有新功能更强的Swing组件。另外还加入了一些全新的组件。Swing组件在名称上前面多了一个字母“J”。考察GUI的构成图形界面的各成分和元素容器,控制组件等各成分和元素间的外观联系布局管理各元素对不同事件的响应事件处理机制容器与控制组件容器(Container):一系列相关组件的集合,是用于组织界面成分和元素的单元。它是一种比较特殊的组件,可以包含
3、其他组件。例如:Window、Frame……控制组件:用于完成与用户的交互,是GUI的最小单元之一,里面不再包含其他的成分。例如:Button、CheckBox、TextField……AWT组件与Swing组件重量级组件代码依赖于底层操作系统,并且存在一个对等组件做对应,将事件传递给对等组件处理。轻量级组件没有本地代码,不依赖操作系统的支持。AWT组件被称为是重量级的Swing组件经常被描述为轻量级的,因为其中大部分不需要操作系统本身所带窗口工具包的原生资源来生成。attentionSwing中通常含有和AWT中相对应的组件,区别是在其名称前加“J”,如
4、:Button->JButton在Swing中,JFrame,JDialog,JWindow,JApplet这四个组件被称为重量级组件,它们必须使用到本地代码来显示窗口画面。上述4个组件在Swing中被称为“最上层组件”,或者“顶层容器”,或“根面板”(JRootPane)AWTvs.SwingSwing组件都是AWT的Container类的直接子类和间接子类。AWT是Swing的基础,但是Swing组件纯java编写,属轻量级组件,具有一些AWT不可比拟的优势。Swing容器树结构Swing容器中加入组件不能直接加入到JRootPane,必须加在JLa
5、yeredPane或是它的contentPane上。例如:加载组件到JFrame中JFrameframe=newJFrame();Containercontainer=frame.getContentPane();JButtonbutton=newJButton();JLabellabel=newJLabel();container.add(label);Container.add(button);说明getContentPane()语法格式如下:PublicContainergetContentPane()该方法返回当前窗体的内容面板对象,这是窗体的工
6、作区,所有的组件出了JMenuBar之外都要放到这个面板容器中。小程序:窗体加按钮程序示例:结果:在上述基础上再添加一个按钮程序示例:结果:布局设计Java中布局控制是通过为容器设置布局管理器来实现的。没设置布局管理器的容器,其中的组件会相互覆盖、遮挡,影响使用。每个布局管理器对应一种布局策略。布局管理器Java中的布局类型包括以下:FlowLayout(流式布局)BorderLayout(边界布局)GridLayout(网格布局)BoxLayout(盒式布局)CardLayout(卡片布局)GridBagLayout(网格包布局)FlowLayout布
7、局管理器FlowLayout的构造函数有:FlowLayout():生成一个默认的流式布局FlowLayout(intalignment):可以设定每一行组件的对齐方式FlowLayout(intalignment,inthorz,intvert):可以设定组件间的水平和垂直距离Applet和面板的缺省布局,组件从左上角开始按从左到右、从上到下的方式排列程序示例:BorderLayout布局管理器下面是BorderLayout所定义的构造函数:BorderLayout():生成默认的边界布局BorderLayout(inthorz,intvert):可以
8、设定组件间的水平和垂直距离setLayout(newBorderLayout()
此文档下载收益归作者所有