atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
3. Dock、Anchor布局//SpringLayout (常用) 2
12.3. JBuilder自带的VerticalFlowLayout 5
13. Java的三大的布局:border,flow,grid 6
1. 布局的继承结构
LayoutManager接口::: 实现的有grid,flow布局等..
LayoutManager2接口: 实现的都是新的布局..
2. Absoluti 布局(常用)
Html中要把div 属性设置成absoluti
.net 的默认布局
C++ qt的默认布局
简单方便:::缺点,一旦最大化界面,布局还是不变,难看了。。
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
3. Dock、Anchor布局//SpringLayout (常用)
Dock和Anchor是水火不容的,同时给控件设置Dock和Anchor属性时后设置的会覆盖前面的设置。
从功能和效率上讲,SpringLayout是最强的,我现在几乎大部分布局都用SpringLayout开发。
SpringLayout 布局操作的渐进复杂性与约束(和/或组件)的数量呈线关系
Anchor属性
正如名称暗示的那样,这个属性迫使控件将其自身定位在父窗体或父控件中的某个相对或绝对位置。这个属性有四个可以开启或关闭的值:
· Top——表示控件中与父窗体(或父控件)相关的顶部应该保持固定。
· Bottom——表示控件中与父窗体(或父控件)相关的底边应该保持固定。
· Left——表示控件中与父窗体(或父控件)相关的左边缘应该保持固定。
· Right——表示控件中与父窗体(或父控件)相关的右边缘应该保持固定。
Dock属性
Dock属性迫使控件紧贴父窗体(或控件)的某个边缘。虽然Anchor属性也可以实现这一点,但是dock属性使得你能够在父窗体中让子窗体可以在上方(或旁边)互相“堆叠”。如果某个子窗体改变了大小,其它停驻在它旁边的子窗体也会随之改变。
4. Flow 布局(不常用)
有点,兼容性好,不同的设备宽度。。
Html要设置成float=left
5. BorderLayout (不常用)
一个BorderLayout对象将界面分成五大区域,分别用BorderLayout类的静态常量指定:
-PAGE_START
-PAGE_END
-LINE_START
-LINE_END
-CENTER
效果:
6. BoxLayout( html默认布局)
BoxLayout可以将组件由上至下或由左至右依次加入当前面板。
效果:
.
7. CardLayout (tab 布局)
卡片布局和其他布局不同,因为它隐藏了一些组件。卡片布局就是一组容器或者组件,它们一次仅仅显是一个,组中的每个容器称为卡片。
8. GridLayout( 不常用)
GridLayout让你建立一个组件表格,并且当组件加入时,会依序又左至右,由上至下填充到每个格子,它不能由你指定想放那个格子就放那个格子
9. GridBagLayout (不常用)
GridBagLayout是所有AWT布局管理器当中最复杂的,同时他的功能也是最强大的。GridBagLayout同GridLayout一样,在容器中以网格形式来管理组件。但GridBagLayout功能要来得强大得多。
1、GridBagLayout管理的所有行和列都可以是大小不同的;
2、GridLayout把每个组件限制到一个单元格,而GridBagLayout并不这样:组件在容器中可以占据任意大小的矩形区域。
10. Fixed 定位(不常用)
可以使元素在屏幕上保持固定,下拉滚动条,位置也不改变
11. GroupLayout(不推荐)
Netbeans提供的GroupLayout太差了,产生的代码可读性太差,执行效率也太差。
12. 别的布局
12.1. DefaultToolBarLayout
12.2. MetalRootLayout
12.3. JBuilder自带的VerticalFlowLayout
12.4. OverlayLayout
12.5. RootLayout
13. Java的三大的布局:border,flow,grid
14. 参考
Swing布局管理器介绍 - 子 孑 - 51CTO技术博客.htm