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


相关推荐

  • java中线程池参数设置

    java中线程池参数设置本文主要介绍线程池是解决了哪些问题以及线程池中的corePoolSize(核心线程数),queueCapacity(等待队列的长度),maximumPoolSize(最大核心线程数)。本文不会对线程池各个参数介绍,假定你已经了解了线程池各个参数的含义。1为什么要有线程池呢?当前实际应用中,经常会遇到单个请求处理时间短但请求量巨大但问题,简单说就是qps很高,平响时间很短的情况。…

    2022年6月5日
    75
  • javascript 浮动广告 代码 类

    javascript 浮动广告 代码 类DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>HTML> HEAD>  TITLE> javascript 浮动广告代码 TITLE> HEAD> BODY>   position:absolute; –>div id=sign1 style=cursor:hand;>a href=http://www.16

    2022年9月20日
    0
  • redis缓存与数据库一致性问题解决[通俗易懂]

    redis缓存与数据库一致性问题解决[通俗易懂]redis缓存与数据库一致性问题解决更多干货分布式实战(干货)springcloud实战(干货)mybatis实战(干货)springboot实战(干货)React入门实战(干货)构建中小型互联网企业架构(干货)一、需求起因假设先写数据库,再淘汰缓存:第一步写数据库操作成功,第二步淘汰缓存失败,则会出现DB中是新数据,Cache中是旧数据,数据不一致【如下图:db中是新数据,cache…

    2022年5月31日
    42
  • ringbuffer原理_hashset数据结构

    ringbuffer原理_hashset数据结构本篇介绍一种简单高效的数据缓存结构:RingBuffer,这种结构实现起来只需要几行代码即可,但使用场景却很广泛,比如在Linux内核中网络数据包的缓存,系统日志的存储等多处使用过该结构。同时它也被广泛的应用于异步通信以及嵌入式设备中,提供高效的数据缓存读写操作。1.实现原理RingBufferr实现比较简单,基本上只需要一个数组结构,外加两个用于存储位置信息的变量即可。其中的数组采用固定大小容量,便于重用内存,不会出现动态内存不断分配和销毁的情况,这对于一些GC类编程语言来说,大…

    2022年9月10日
    0
  • MQTT服务器搭建与试用,桌面工具连接MQTT服务器

    MQTT服务器搭建与试用,桌面工具连接MQTT服务器简介MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽、不可靠的网络的进行远程传感器和控制设备通讯等,正在日益成为物联网通信协议的重要组成部分。MQTT现在主要用于即时通讯,物联网M2M,物联网采集等。本文就社区上常见的开源MQTT服务器在常见操作系统上的搭建做详细介绍。目前一些开源MQTT服…

    2022年5月29日
    39
  • Spring Security CAS认证

    Spring Security CAS认证13.7CAS认证13.7.1概述JA-SIG生产一种称为CAS的企业级单点登录系统。与其他计划不同,JA-SIG的中央身份验证服务是开源的,广泛使用的,易于理解,独立于平台,并支持代理功能。SpringSecurity完全支持CAS,并提供从SpringSecurity的单应用程序部署到企业级CAS服务器保护的多应用程序部署的轻松迁移路径。您可以在https://www.ape…

    2022年6月25日
    66

发表回复

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

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