图形用户面的设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图形用户面的设计

第七讲 图形用户界面的设计与实现 布局管理器 回忆前面的程序,向一个面板中加了三件按钮,所有的按钮都是排成一行。 如果加更多,直到一行排不了,分行。 按钮总是居中显示。 实际上,是有一个布局管理器在背后起作用。 只要是容器都可以更改布局。 FlowLayout流式布局 上例中的JPanel就是。 Java.awt.Container setLayout(LayoutManger m) Java.awt.FlowLayout FlowLayout(int align) 新的流式布局 align-可选LEFT(左),CENTER(中),RIGHT(右) FlowLayout(int aligh,int hgap,int vgap) hgap-水平间隙(负值强制相互重叠) vgap-重直 BorderLayout 边框布局 BorderLayout 这是每个JFrame的内容窗格的默认布局管理器。它和流布局管理器完全控制每个组件的位置不同,边界布局管理器让你选择每个组件的摆放位置。你可以选择把组件放在内容窗格的中部、北部、南部、东部或者西部。 BorderLayout 1. Void add(Component c,Object Constraints) 把一个组件添加到容器中。 参数:c 添加的组件 constraints 布局管理器理解的标识符 2. BorderLayout(int hgap,int vgap) 根据指定的组件水平和垂直间距来构造一个 新的BorderLayout。 参数:hgap 水平间距(以像素为单位,如果为负,则强 制进行重叠) vgap 垂直间距(以像素为单位,如果为负,则强 制进行重叠) BorderLayout 经常将面板和BorderLayout合在一起用。 面板如同界面元素的小容器,并且在局面管理器的控制之下,它们自己能够排列在一个更大的面板中。例如,你可以把一个面板放在南边用于容纳按钮,而另一个面板放在中部用于显示文本 JPanel(LayoutManager m) 为面板设置布局管理器 显示几个按钮,以窗体下方对齐。 示例 Container contentPane = getContentPane(); JPanel panel = new JPanel(); JButton yellowButton = new JButton(yellow); JButton blueButton = new JButton(blue); JButton redButton = new JButton(red); panel.add(yellowButton); panel.add(blueButton); panel.add(redButton); 。。。 Container contentPane = getContentPane(); contentPane.add(panel,BorderLayout.SOUTH); 网格布局管理器 网格布局按行列来排列所有的组件,就像电子数据表一样。然而,对于网格布局。各个单元总是一样的大小。 例如:设定行列数 panel.setLayout(new GridLayout(5,4)); 添加组件,从第一行的第一列开始,然后是第一行的第二列,并这样持续下去。 网袋布局 网袋布局是所有的布局管理器中最强大的一种。在一个网袋布局中,行和列的尺寸均可改变,并且可以合并相邻的单元格来适应更大的组件。组件不需要填充整个单元格区域,并且可以指定单元格内的对齐方式。 使用网袋布局管理器进行布局的步骤如下: 创建一个GridBagLayout类型的对象 把此GridBagLayout对象设成组件的布局管理器 创建一个GridBagConstraints类型的对象 对于每一个组件,填充GridBagConstraints对象 约束 gridx,gridy,gridwidth,gridheight参数 gridx,gridy值定义了添加组件左上角的行和列 位置。而gridwidth,gridheight值指定了组件占 用的行数和列数 增量字段(weightx,weighty) 设置单元格增量的最大值 fill,anchor参数 fill有4个有效值:GridBagConstraints.NONE, GridBagConstraints.HORIZONTAL, GridBagConstraints.VERTICAL, GridBagConstraints.BOTH anchor取值:GridBagConstraints.CENTER,

文档评论(0)

liwenhua11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档