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

大家好,又见面了,我是全栈君。

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

 

1. 布局的继承结构

LayoutManager接口::: 实现的有grid,flow布局等..

LayoutManager2接口:   实现的都是新的布局..

2. Absoluti 布局(经常使用)

Html中要把div 属性设置成absoluti

.net 的默认布局

C++  qt的默认布局

简单方便:::缺点。一旦最大化界面,布局还是不变,难看了。。

 

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

3. DockAnchor布局//SpringLayout  (经常使用)

DockAnchor是水火不容的,同一时候给控件设置DockAnchor属性时后设置的会覆盖前面的设置。

从功能和效率上讲,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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115264.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • String类型转换BigDecimal、Date类型

    String类型转换BigDecimal、Date类型String类型转换BigDecimal类型public static void main(String[] args) {         String str1="2.30";            BigDecimal bd=new BigDecimal(str1);            System.out.println(bd);    }Java String类型转换成D…

    2022年6月13日
    39
  • python pandas fillna_python rfind函数

    python pandas fillna_python rfind函数本文概述我们可以使用fillna()函数填充数据集中的空值。句法DataFrame.fillna(value=None,method=None,axis=None,inplace=False,limit=None,downcast=None,**kwargs)参数值:它是一个用于填充空值的值,或者是一个Series/dict/DataFrame。method:一种用于填充重新…

    2022年8月12日
    6
  • HQL 多表联合查询「建议收藏」

    HQL 多表联合查询「建议收藏」HQL联表查询语句select h from Hytxbz as h,Tgbzk as t where h.hytxbzid=t.hytxbzid and t.bztgid=:bztgid如果想取得对应属性的话,也可以这样写 select h.hytxbzid from Hytxbz as h,Tgbzk as t where h.hytxbzid=t.hytxbzid 

    2022年5月10日
    36
  • CAN总线学习笔记(3)- CAN协议错误帧

    CAN总线学习笔记(3)- CAN协议错误帧依照瑞萨公司的《CAN入门书》的组织思路来学习CAN通信的相关知识,并结合网上相关资料以及学习过程中的领悟整理成笔记。好记性不如烂笔头,加油!1错误帧的帧结构在发送和接收报文时,总线上的节点如果检测出了错误,那么该节点就会发送错误帧,通知总线上的节点,自己出错了。错误帧由错误标志和错误界定符两个部分组成。主动错误标志:6个连续的显性位;被动错误标志:6个连续的隐性位;…

    2022年6月28日
    47
  • docker下载安装教程_vmware mac版本

    docker下载安装教程_vmware mac版本前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D

    2022年7月28日
    12
  • mac ll命令_linux终端命令

    mac ll命令_linux终端命令首先,cd到home下:cd~再编辑.bash_profile文件vim.bash_profile添加如下内容aliasll=’ls-l’#aliasl=’ls-alhF’#aliasla=’ls-AFh’#aliasll=’ls-lhAF’执行source.bash_profile命令,使内容生效source.bash_profi…

    2022年9月24日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号