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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue.js跨域_vueaxios跨域请求

    vue.js跨域_vueaxios跨域请求最近公司能的项目使用前后端分离,前端开发请求接口数据的时候碰到了跨域问题,解决方案如下一、SimpleCORSFilter工具类在项目Util类中新建类SimpleCORSFilter实现Filter接口packagecom.how2java.tmall.util;importjava.io.IOException;importjavax.servlet.Filter…

    2022年9月27日
    0
  • CSS实现实心三角形和空心三角形[通俗易懂]

    CSS实现实心三角形和空心三角形[通俗易懂]一次开发中遇到,记录代码原理:1.给一个div,宽和高都为0的时候,盒子什么都没有看起来。为空白2.给一个宽高为0的盒子给一遍像素给100px的上边,下边和右边,border-top:90pxsolidred;border-right:100pxsolidblack;border-bottom:100pxsolidblue;这样左边没有,就会缩成一

    2022年6月29日
    27
  • origin安装嵌入python_python爬虫之git的使用(origin说明)

    origin安装嵌入python_python爬虫之git的使用(origin说明)1、首先我们回忆两个命令#gitremoteaddorigin远程仓库链接#gitpush-uoriginmaster我们一起看看这个命令,git是git的一级命令,push就是下载,-u应该使用用账户验证maser就是分支的名字(前面我们说过),那么这个origin是个什么鬼?大家看看下面的这个5毛钱图,就能发现,其实origin就是远程仓库的名称。如果不相信在看看我的配置文件#…

    2022年5月3日
    94
  • mysql报错1146怎么办_navicat报1146错误怎么办

    mysql报错1146怎么办_navicat报1146错误怎么办在MySQL的主从复制过程中,出现了1146错误。提示的错误原因是:在默认的数据中找不到指定的表。showslavestatus\G;现实的同步状态。Slave_IO_Running:YESSlave_SQL_Running:NoLast_Errno:1146Last_Error:Error’Table’coop.Coop_Data’doesn’texist’onquery…

    2022年6月5日
    167
  • elf格式分析

    elf格式分析

    2021年12月10日
    40
  • 原生js之字符串截取[通俗易懂]

    原生js之字符串截取[通俗易懂]字符串截取的方法有三种:slice(start,end+1),substring(start,end+1),substr(start,n).slice(start,end+1):两个参数时,参数指截取位置,截取含头不含尾;一个参数时,默认截取到字符串结尾。参数可以为负数,负数就倒着数位置。substring(start,end+1):两个参数时,参数指截取位置,截取含头不含…

    2022年5月24日
    34

发表回复

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

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