- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 图形界面设
第12章 图形界面设计 本章主要内容 图形用户界面的设计步骤 AWT组件分类 初步掌握swing组件的使用 掌握常用的布局管理器 图形用户界面 图形用户界面(Graphic User Interface):是用户与程序交互的窗口。 抽象窗口工具集 Swing的类结构 1、Swing组件都是AWT的Container类的直接子类和间接子类 。 2、除了 AbstractButton 类之外都以 J 开头。 3、包含 AWT 可视化组件的替代组件,也包含复杂组件 - 树和表等新组件。 awt组件分类 Java.awt包提供了基本的java程序GUI设计工具。主要包括下述三个概念: 组件——Component 容器——Container 布局管理器——LayoutManger Java语言中构成图形用户界面的各种元素称为组件(component)。 组件分为容器类组件和非容器类组件。 容器类组件中可以包含其他组件,也可以包含其他容器。 非容器类组件不能包含其他组件的组件,其种类较多。 容器又分为顶层容器和非顶层容器。 顶层容器可以是独立的窗口,并且可以移动、放大、缩小、关闭等功能较强的容器。 非顶层容器不是独立的窗口,它们必须位于窗口之中。 快速入门 添加按钮 布局管理器 组件在容器中的位置和大小由布局管理器来决定,所有的容器都会使用一个布局管理器,通过它自动进行组件的布局管理。 种类 流式布局管理器(FlowLayout) 边界式布局管理器(BorderLayout) 网格式布局管理器(GridLayout) 卡片式布局管理器(CardLayout) 网袋布局管理器(GridBagLayout) 边界布局管理器 边界布局管理器将显示区域分为东、西、南、北、中五个区域。 将组件加入容器中时,应指出把这个组件加到那个区域。若没有指定区域,则默认为中间。若将组件加入到已被占用位置时,将会取代原先的组件。 JFrame、JDialog默认布局方法。 边界布局注意事项 不是五个部分都必须添加 中间组件会自动调节大小 JFrame、JDioalog默认布局管理器是边界布局 流式布局(FlowLayout) 组件按照加入容器的先后顺序从左到右排列 一行排满后自动地转到下一行继续从左向右排列 每一行中的组件都居中排列 流式布局注意事项 不限制它所管理的组件大小,允许它们有最佳大小 当容器被缩放时,组件的位置可能变化,但组件的大小不变 默认居中对齐,可以通过FlowLayout(int align)方法指定对齐方式 网格式布局管理器(GridLayout) 网格式布局管理器将容器的空间划分为若干行和列的网格形式,在容器上添加组件时,它们会按从左到右,从上到下的顺序在网格中排列. 网格的行数和列数可以在创建GridLayout的构造方法中指定。 JPanel:面板,用于容纳GUI组件的中间容器; import java.awt.*; import javax.swing.*; public class Demo3 extends JFrame{ //定义组件 JPanel jp1,jp2; JButton jb1,jb2,jb3,jb4,jb5,jb6; public Demo3() { jp1=new JPanel(); jp2=new JPanel(); jb1=new JButton(西瓜); jb2=new JButton(苹果); jb3=new JButton(葡萄); jb4=new JButton(桔子); jb5=new JButton(荔枝); jb6=new JButton(香蕉); jp1.add(jb1); jp1.add(jb2); jp2.add(jb3); jp2.add(jb4); jp2.add(jb5); this.add(jp1,BorderLayout.NORTH); this.add(jb6,BorderLayout.CENTER); this.add(jp2,BorderLayout.SOUTH); this.setSize(300,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } public static void main(String[] args) { Demo3 d3=ne
原创力文档


文档评论(0)