atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform

atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform

1. 布局的继承结构 1

2. Absoluti 布局(经常使用) 1

3. Dock、Anchor布局//SpringLayout (经常使用) 2

4. Flow 布局(不经常使用) 2

5. BorderLayout (不经常使用) 2

6. BoxLayout( html默认布局) 3

7. CardLayout (tab 布局) 4

8. GridLayout( 不经常使用) 4

9. GridBagLayout (不经常使用) 4

10. Fixed 定位(不经常使用) 4

11. GroupLayout(不推荐) 4

12. 别的布局 5

12.1. DefaultToolBarLayout 5

12.2. MetalRootLayout 5

12.3. JBuilder自带的VerticalFlowLayout 5

12.4. OverlayLayout 5

12.5. RootLayout 5

13. Java的三大的布局:border,flow,grid 6

14. 參考 6

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